我需要从法语地址中提取数字。
这是我的正则表达式:
d+( |d+|bte|-|boite|[w] {1}|([a-z] ){1}){0,2}
regex101的示例:https://regex101.com/r/ZP8DSV/1它部分工作,但不是对所有行。
我需要提取数字+额外信息。
如果我取这个列表,它应该给我这个(每一行):
|---------------------------------------|--------------|
| Original | Result |
|---------------------------------------|--------------|
| rue hovémont 3 | 3 |
| rue hovémont 3-5 | 3-5 |
| rue hovémont 3 5 | 3 5 |
| Rue hovémont 35 | 35 |
| Rue hovémont 46 A | 46 A |
| Rue hovémont 46 A1 | 46 A1 |
| 46 A1 Rue hovémont | 46 A1 |
| 46 A Rue hovémont | 46 A |
| Rue du pont de pierre, 1 | 1 |
| Chaussée d alseg 416 c | 416 c |
| Chaussée d alseg, 416 c | 416 c |
| Chaussée d alseg 416c | 416c |
| Chaussée d alseg, 416c | 416c |
| 416 c Chaussée d alseg | 416 c |
| 416 c, Chaussée d alseg | 416 c |
| 416c Chaussée d alseg | 416c |
| 416c, Chaussée d alseg | 416c |
| Square de la demi-lune 7 boite 5 | 7 boite 5 |
| 7 boite 5 Square de la demi-lune | 7 boite 5 |
| Rue aux laines 150/58 | 150/58 |
| Rue de la forêt, 95 | 95 |
| Chaussée d'anvers 294 | 294 |
| Avenue jean sébastien bach, 24 bte 32 | 24 bte 32 |
| 10 bte 1 rue des volontaires | 10 bte 1 |
| Rue du 5ème Tïme 5 bte 2 | 5 bte 2 |
| Rue du 5eme Tïme 5 bte 2 | 5 bte 2 |
| Rue du 5 eme Tïme 5 bte 2 | 5 bte 2 |
| Rue du 5 ème Tïme 5 bte 2 | 5 bte 2 |
| Rue du 1 er Tïme 5 bte 2 | 5 bte 2 |
| 20a Test Strasse | 20a |
|---------------------------------------|--------------|
你能帮我处理这个案子吗?:)下面是一个工作正则表达式,用于捕获以数字开头或结尾的文本:
^dw*(?:h+(?>boite|bte|pLd?|d)b)*|hKd+pL?(?:[-/]d+|h+(?:boite|bte|pLd?|d+)b)*$
更新的RegEx Demo
$re = '~^dw*(?:h+(?>boite|bte|pLd?|d)b)*|hKd+pL?(?:[-/]d+|h+(?:boite|bte|pLd?|d+)b)*$~miu'
RegEx细节:
^
: Startdw*
:匹配以数字 开头的单词(?:
:启动非快照组h+
: Match 1+ whitespaces(?>boite|bte|pLd?|d)
:匹配boite
或bte
或单个数字或可选后跟数字的字母b
:字边界
)*
:结束非抓包组。匹配该组中的0个或多个。|
: orh
:匹配空白K
:重置匹配d+pL?
:匹配1+数字后跟可选字母b
:文字边界(?:[-/]d+|h+(?:boite|bte|pLd?|d+)b)*
:匹配剩余部分$
: End