请问如何使用正则表达式获得地址:
Address123 Mayor Street, LAGBranch ABC
使用(?<=Address(s))(.*(?=s))
,但其中包含了&;Address&;之后的空格。试图让一个表达式提取地址空间。("地址"后面有两个空格。前"123")
谢谢!
您尝试的模式(?<=Address(s))(.*(?=s))
在左侧断言Address后跟单个空白字符,然后匹配在右侧断言空白字符的行其余部分。
对于示例数据,它将在字符串中最后一个空白字符之前匹配,并且该匹配还将包含Address
匹配问题中粗体部分的一个选项是使用捕获组。
bAddresss+([^,]+,s*S+)
模式匹配:
bAddresss+
匹配地址后面跟着1+空格(
Capture组1[^,]+,
匹配除,
以外的任何字符的1+次出现,然后匹配,
s*S+
匹配可选的空白字符,后面跟着1+非空白字符)
关闭组1
。. NET regex demo (单击Table选项卡查看组1的值)
注意s
和[^,]
也可以匹配换行符
一个具有正向后查找的变体,只获得匹配:
(?<=bAddresss+)[^,s][^,]+,s*S+
。. NET Regex demo