我试图用三种不同的模式删除字符串的结尾
字符串示例(这不是块,这是三个独立的字符串):
BP342
Rue Du Docteur Ichon BP 60 Site de BRESSUIRE
CESEL - Hôtel Dieu 34 Rue du Dr Maunoury - B.P. 30407
我写了这个正则表达式模式来检测BP
我能得到的每个案例:
[B][P]|[[:space:]][B][P]|[-][[:space:]][B][.][P][.]
但现在我想删除每个模式之后的所有内容。我试图在每个模式.$
的末尾放置,但是当我这样做时,它不再能识别出先前的模式。那么如何在匹配模式后删除字符串的结尾?
预期结果:
(nothing)
Rue Du Docteur Ichon
CESEL - Hôtel Dieu 34 Rue du Dr Maunoury
我正在使用此网站制作这些示例:https://regex101.com/r/QXYtyv/3
答案 0 :(得分:1)
您可以使用此正则表达式进行匹配:
(?:\s*-)?\s*B\.?P\.?.*$
并使用空字符串替换。
此正则表达式匹配可选的连字符后跟BP
,并在两个字母前面都有可选的DOT。使用.*$
它匹配所有内容直到行尾。