我正在尝试搜索以任何字符(大写字母)开头的单词,但在perl中以零结尾。 例如
ABC0
XYZ0
EIU0
QW0
我尝试了什么 -
$abc =~ /^[A-Z].+0$/
但我没有得到适当的输出。请有人帮帮我吗?
答案 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匹配单词边界。