在perl中搜索带有特定字符的单词

时间:2013-05-01 11:00:11

标签: perl

我正在尝试搜索以任何字符(大写字母)开头的单词,但在perl中以零结尾。 例如

ABC0
XYZ0
EIU0
QW0

我尝试了什么 -

$abc =~ /^[A-Z].+0$/

但我没有得到适当的输出。请有人帮帮我吗?

2 个答案:

答案 0 :(得分:1)

字符串开头的^锚点,最后是$.+匹配尽可能多的非换行符。因此

"ABC0 XYZ0 EIU0 QW0" =~ /^[A-Z].+0$/

匹配整个字符串。

\b断言在单词边缘匹配:字符和非单词字符相邻的地方。 \w charclass仅包含单词字符,\S charclass包含所有非空格字符。这些中的任何一个都优于.

所以你可能想要使用/\b[A-Z]\W*0\b/

答案 1 :(得分:0)

这可能有效:

$abc =~ /\b[A-Z].*0\b/

\ b匹配单词边界。