正则表达单词匹配的问题

bluecrest 2008-11-30 12:09:02
Mrs.Wilma Flintstone
wilma&fred
需要匹配一个以a结尾的单词,但是没有办法匹配Wilma?
...全文
330 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
iambic 2008-11-30
  • 打赏
  • 举报
回复
试过就知道了啊……
bluecrest 2008-11-30
  • 打赏
  • 举报
回复
\w*a

是以a结尾的单词吗?
AwL_1124 2008-11-30
  • 打赏
  • 举报
回复
正则表达式符号

\
将下一个字符标记为一个特殊的字符,或一个原义字符、或一个后向引用,或一个八进制 转义字符。

^
匹配输入字符串的开始位置,如果启用了 Pattern 对象的Pattern.MULTILINE 匹配模式,^ 也匹配 '\n' 或 '\r' 之后的位置。

$
匹配输入字符串的结束位置,如果启用了 Pattern 对象的Pattern.MULTILINE 匹配模式,$ 也匹配 '\n' 或 '\r' 之前的位置。

*
匹配前面的子表达式零次或者多次。

+
匹配前面的子表达式一次或者多次。

?
匹配前面的子表达式零次或者一次。

{n}
n 是一个非负整数,匹配确定的 n 次。

{n,}
n 是一个非负整数,至少匹配 n 次。

{n,m}
n,m 均为非负整数,n <= m,最少匹配n次且最多匹配 m 次。

?
当该字符紧跟在任何一个其他限制字符(*,+,?,{n},{n,},{n,m})后边,匹配模式是非贪婪的。非贪婪模式尽可能少地匹配所搜索的字符串,而默认的贪婪模式则尽可能多的搜索字符串。

.
匹配除"\n"之外的任何单个字符。要匹配包括 '\n' 在内的任何字符,需要启用 Pattern.DOTALL 模式。

(pattern)
匹配 pattern 并获取这一匹配。

(?:pattern)
匹配 pattern 但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。

(?=pattern)
正向预查,在任何匹配 pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。

(?!pattern)
负向预查,在任何不匹配 Nagative lookahead matches the search at any point where a string not matching pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说该匹配不需要获取供以后使用。

x|y
匹配 x 或 y。

[xyz]
字符集和,匹配所包含的任意一个字符。

[^xyz]
负值字符集和,匹配未包含的任意字符。

[a-z]
匹配指定范围内的任意字符。

[^a-z]
匹配任何不在指定范围内的任意字符。

\b
匹配一个单词边界,也就是指单词和空格间的位置。

\B
匹配非单词边界。

\cx
匹配由 x 指明的控制字符。

\d
匹配一个数字字符。

\D
匹配一个非数字字符。

\f
匹配一个换页符。

\n
匹配一个换行符。

\r
匹配一个回车符。

\s
匹配任何空白字符,包括空格、制表符、换页符等。

\S
匹配任何非空白字符。

\t
匹配一个制表符。

\v
匹配一个垂直制表符。

\w
匹配包括下划线的任何单词字符。

\W
匹配任何非单词字符。

\xn
匹配 n,其中 n 为一个十六进制转义值。十六进制转义值必须为确定的两个数字长。

\num
匹配 num,其中 num 是一个正整数。对所获取的匹配的引用。

\n
标识一个八进制转义值或一个后向引用。

\nm
标识一个八进制转义值或一个后向引用。

\nml
如果 n 为八进制数字(0-3),且 m 和 1 均为八进制数字(0-7),则匹配八进制转义值 nml。

\un
匹配 n,其中 n 是一个用四个十六进制数字表示的 Unicode字符。
iambic 2008-11-30
  • 打赏
  • 举报
回复
\w*a

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧