我正在寻找一个正则表达式,它在分隔符后删除文本并删除分隔符
我在.*&
之后尝试&
删除了文字。这是有效的,但我也希望从我的字符串中删除&
。
与&
一样,我有多个其他分隔符,例如, ; \ / - | (JT)
我怎样才能做到这一点?
答案 0 :(得分:0)
使用.*&
,您将匹配文字,直到文本中包含 last &
为止。如果您不想在匹配中包含该内容,请将其放在positive lookahead assertion:
.*(?=&)
要查找多个分隔符,请使用alternation和character class:
.*(?=[&,;\\/|-]|\(JT\))
请注意,这会改变类似
的内容First, Middle & Last
到
First, Middle
因为匹配在 last 分隔符之前停止。如果您希望它停在第一个分隔符上,请使用惰性quantifier:
.*?(?=[&,;\\/|-]|\(JT\))
请注意,您需要转义字符串处理器的反斜杠,以便以字符串形式编写的正则表达式看起来像
".*?(?=[&,;\\\\/|-]|\\(JT\\))"