【发布时间】:2020-05-27 06:08:12
【问题描述】:
我有这个正则表达式
(?<={|\sand\s)(.*?)(?=\sand\s)
仅匹配“一”、“二”和“三”
{one and two and three and four}
但是当我尝试用\1 反向引用\sand\s 时
(?<={|(\sand\s)\1)(.*?)(?=\1)
不匹配“一”,只匹配“二”和“三”
我刚开始使用正则表达式,所以我不确定这里发生了什么,不胜感激
编辑:我很抱歉,一开始我似乎不明白反向引用是什么意思,我意识到我的情况不需要它,但是感谢那些花时间理解这种废话的人。
【问题讨论】:
-
你想用你的第二个模式匹配什么?
-
请显示给定的字符串和所需的结果,并给出您希望应用产生所需结果的规则(用文字表示,而不是正则表达式)。反向引用文字(
" and ")有什么意义?我建议您减少对技术(反向引用)的关注,并简单地解释您要实现的目标。 -
抱歉,我只是想知道为什么对
\sand\s应用反向引用会得到与我没有反向引用{one and two and three and four}所需结果“一”、“二”和“三”时不同的结果
标签: regex backreference