bing614 发表于 2008-11-11 22:30:35

正则匹配一个汉字

$x=StringRegExp("中",'^[\u4e00-\u9fa5]$',0)
MsgBox(0,"",$x)
始终不成功,希望懂的朋友帮帮忙。

[ 本帖最后由 bing614 于 2008-11-12 02:18 编辑 ]

streamload 发表于 2008-11-11 22:40:35

example
匹配汉字“人民”

$a="中华人民共和国"
$b=StringRegExp($a,"(?<=中华).*(?=共和国)",2)
MsgBox(0,"",$b)

bing614 发表于 2008-11-11 22:47:04

我想匹配任一汉字,又应该如何写呢?能否不用Unicode 字符呢

rho123 发表于 2008-11-11 23:42:25

没人来我来写个,呵呵
$nOffset = 1
$Result = ""
While 1
$array = StringRegExp("12ss3我123aaa爱423ss中ff54国dd4567",'[^\x00-\xff]+',2,$nOffset)
If @error = 0 Then
      $nOffset = @extended
    Else
      ExitLoop
    EndIf
    for $i = 0 to UBound($array) - 1
      $Result=$Result&$array[$i]
       MsgBox(0,"",$Result)
    Next
WEnd

这样可以一个汉字一个汉字的循环匹配,上面那个正则的意思是匹配 双字节字符

[ 本帖最后由 rho123 于 2008-11-11 23:45 编辑 ]

bing614 发表于 2008-11-12 02:18:13

非常感谢楼上的朋友。

askask150 发表于 2009-10-13 17:58:23

学习了 谢谢
页: [1]
查看完整版本: 正则匹配一个汉字