【发布时间】:2020-11-22 17:25:36
【问题描述】:
我试图避免匹配字符串末尾的空格,同时仍然匹配单词中间的空格。
这是一个匹配 x 中的下划线但最多不匹配三个尾随下划线的正则表达式示例。
say 'x_x___x________' ~~ /
[
| 'x'
| '_' <!before [
| $
| '_' <?before $>
| '_' <?before ['_' <?before $>]>
| '_' <?before ['_' <?before ['_' <?before $>]>]>
# ...
]>
]+
/;
有没有办法构建 ... 所暗示的模式的其余部分?
【问题讨论】:
-
可能是避免在字符串末尾匹配空格的最简单方法,但在其他任何地方匹配它是一种非常不同的方式::
\s+ <!before $>匹配所有空格,所以只要它没有出现在字符串的结尾之前