围绕特定单词的匹配单词 - 正则表达式

  • 本文关键字:单词 正则表达式 regex
  • 更新时间 :
  • 英文 :


假设我有这些字符串:

1. TOP FLAT
2. FLAT 7
3. FLAT B
4. GROUND FLOOR FLAT
5. STUDIO 1.02
6. APARTMENT 10
7. GROUND AND FIRST FLOOR MAISONETTE
8. FLAT A

正则表达式会给我什么:

1. TOP
2. 7
3. B
4. GROUND FLOOR
5. 1.02 
6. 10
7. Ground and first floor
8. A

区分大小写并不重要。在过去的几个小时里,我一直在为此努力,但我似乎无处可去。

感谢您的帮助!

(这是perl,但RE可以工作)

while ( <DATA> ) {
    s/(house|maisonette|studio|apartment|flat) ?//gi; 
    print;
}
 __DATA__
1. TOP FLAT
2. FLAT 7
3. FLAT B
4. GROUND FLOOR FLAT
5. STUDIO 1.02
6. APARTMENT 10
7. GROUND AND FIRST FLOOR MAISONETTE
8. FLAT A

给:

1. TOP 
2. 7
3. B
4. GROUND FLOOR 
5. 1.02
6. 10
7. GROUND AND FIRST FLOOR 
8. A
[ ]*(?:flat|studio|apartment|Maisonette)[ ]*

试试这个。替换为 space 。请参阅演示。

https://regex101.com/r/pM9yO9/10

最新更新