正则表达式删除分隔符后的分隔符和文本

时间:2015-11-06 08:03:46

标签: regex nsregularexpression

我正在寻找一个正则表达式,它在分隔符后删除文本并删除分隔符 我在.*&之后尝试&删除了文字。这是有效的,但我也希望从我的字符串中删除&

&一样,我有多个其他分隔符,例如, ; \ / - | (JT)

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

使用.*&,您将匹配文字,直到文本中包含 last &为止。如果您不想在匹配中包含该内容,请将其放在positive lookahead assertion

.*(?=&)

要查找多个分隔符,请使用alternationcharacter class

.*(?=[&,;\\/|-]|\(JT\))

请注意,这会改变类似

的内容
First, Middle & Last

First, Middle

因为匹配在 last 分隔符之前停止。如果您希望它停在第一个分隔符上,请使用惰性quantifier

.*?(?=[&,;\\/|-]|\(JT\))

请注意,您需要转义字符串处理器的反斜杠,以便以字符串形式编写的正则表达式看起来像

".*?(?=[&,;\\\\/|-]|\\(JT\\))"