正则表达式:如何选择文本字符串中的最后一部分?

时间:2017-06-27 23:15:34

标签: regex string

我想选择字符串的最后一部分,即(当前地址xxxxx)

以下是数据:

  

全名:约翰史密斯   May Go By:John C Smith
  约翰逊史密斯的约翰尼   Smith
Johnny C Smith年龄:45
当前地址:
1234 SE 2nd st
Los   安吉利斯,加利福尼亚州12345

现在,我提取的这些数据,我只是想要

  

当前地址:
1234 SE SE 2nd st
洛杉矶,CA 1234

但是由于地址随着我刮擦的每一页而变化,我想确保它只是从CURRENT ADDRESS:通过Regex到字符串的末尾。

到目前为止我已经

  

\ w {7} \ s \ w {7} \ s

作为正则表达式,但它只是选择字符串的当前地址部分,我无法弄清楚要输入什么来完成字符串的其余部分。

编辑:我确实希望保留在字符串的当前地址部分中保留的正则表达式代码,因为它是静态的,并且页面之间唯一的变化是地址所以我想确保任何正则表达式代码只是继续直到字符串结束。

由于

1 个答案:

答案 0 :(得分:2)

(^Current Address:.+)启用了点匹配换行模式

该正则表达式的格式化版本添加了多行/点匹配选项但不兼容所有风格的正则表达式,但它会有很多:{{1 }}

如果您决定不想保留当前地址文本,则可以执行以下操作:

(?mis)(^Current Address:.+) 并且只保留capture-group 1

编辑:

由于在注释中指定了.NET,下面是RegexBuddy为C#生成的示例代码片段,用于创建一个字符串中所有正则表达式匹配的对象:

^Current Address:[ ]\r\n(^.+$)+|^Current Address:[ ]\n(^.+$)+