搜索某些模式并提取数据

时间:2014-05-27 01:38:13

标签: java regex

我有一个字符串

area shape =“rect”coords =“348,140,​​362,152”alt =“驾驶0h30,从05-25 11:34开始。 在4英里WSW的Pleasant Prairie,WI“title =”驾驶0h30,从05-25 11:34开始。 在4英里威斯康星州Pleasant Prairie的WSW“

我正在寻找一种方法来拉出第一个字或2个alt,可以是开车或下班等,并拉出它开始的日期时间,持续多长时间以及城市和州的位置。正则表达式无法提取数据的每一部分

1 个答案:

答案 0 :(得分:0)

有多种方法可以做到这一点,尤其取决于您希望如何从regex中获取数据以及regex扫描的数据如何变化,但是,对于 alt 部分,您可以尝试这样的事情:

alt=\"(Driving|(?:(?:off|on) duty)|sleeper birth) for (.+)?, starting (.+)?\. at (.+)? title

开启case insensitivity

然后各种group s(1-4这里)包含组件。

你可以为其他组件做类似的事情,或者在每个组件的单独正则表达式中(可能更容易阅读),或者作为一个大的正则表达式,它只是添加额外的group每个组成部分。

您可以在继续使用此网站时帮助测试正则表达式:http://www.regexplanet.com/advanced/java/index.html