刚刚遇到过这种模式,我真的不明白:
^[%w-.]+$
你能给我一些例子来匹配这个表达吗?
答案 0 :(得分:5)
在Lua中有效,其中%w
(几乎)相当于其他语言中的\w
^[%w-.]+$
表示匹配一个完全由字母数字字符(字母和数字),短划线或点组成的字符串。
<强>解释强>
^
锚点断言我们位于字符串的开头[%w-.]
匹配一个字母或数字(%w
的含义)或短划线或句点。这相当于JavaScript中的[\w-.]
+
量词与此类字符匹配一次或多次$
锚点断言我们位于字符串的末尾<强>参考强>
答案 1 :(得分:4)
实际上它什么都不匹配。因为存在错误:w-
这是文本范围的开头,而且它是乱序的。所以它应该是%w\-
。
^ [%(重量)\ - ] + $
意思是:
^
在字符串[%w\-.]+
匹配下面列表中的单个字符
+
量词:在一次和无限次之间,尽可能多次,根据需要回馈[贪心] %w
列表中的单个字符%w字面意思(区分大小写)\-
匹配字符 - 字面意思.
文字字符。$
断言字符串末尾的位置修改强>
由于OP改变了问题和标签,这个答案不再适合作为正确的答案。这是基于POSIX的答案。
作为@ zx81评论:
%w
在 Lua 中为\w
,表示任何字母数字字符加上“_”