使用正则表达式
[^a-zA-Z]([A-Z][&+-\/\\][A-Z](([&+-\/\\][A-Z])+[^a-zA-Z\d:]))
并且想要匹配由符号描绘的字母,表达式实现成功匹配,但无法正确匹配紧跟正确匹配的模式。请注意,它在执行时不区分大小写。
例如在示例中
披萨a.b.c C / A / R / L关于R / O / F / L s
a.b.c和R / O / F / L正确匹配,但C / A / R / L仅部分匹配(A / R / L)。怎么解决这个问题?
下面是一个regex101模型:但令人困惑的是,它似乎没有表现出与我看到的相同的行为。
答案 0 :(得分:1)
您可以使用
\b[a-zA-Z](?:[./][A-Za-z])*\b
请参阅regex demo
如果您不需要匹配整个单词,请删除\b
(字边界)。
<强>解释强>:
\b
- 领先的字边界[a-zA-Z]
- 1封信(?:[./][A-Za-z])*
- 零个或多个序列(注意:如果您需要至少一个.
或/
,replace *
with a +
):
[./]
- 一个点或/
符号[A-Za-z]
- 1封信\b
- 尾随字边界如果您需要匹配c.a
中的r.l
和c.a/r.l
,则需要使用类似
\b[a-zA-Z](?:(?:\.[A-Za-z])+|(?:/[A-Za-z])+)\b