我想从这个字符串中提取2件事:| 2013.10.10 FEL felsz
2013.10.10
(在本例中为)2013.10.10
和felsz
字符串之间的字符串 - >所需的值只是FEL
字符串(在本例中)。我尝试使用以下正则表达式并没有太多成功:
(.*?<p/\s>.*?)(?=\s)
(.*?<p/("[0-9]+">.*?)(?=\s)
你有什么建议吗?
答案 0 :(得分:1)
&#34; felsz&#34;变量?白色空间可以变化吗?您的日期格式可以变化吗?如果不是:
\| (\d{4}\.\d{2}\.\d{2}) (.*?) felsz
否则:
\|\s+?(\d{4}\.\d{2}\.\d{2})\s+?(.*?)\s+?[a-z]+
然后访问捕获组1/2。
答案 1 :(得分:1)
正则表达式
\d+\.\d+\.\d+
匹配给定字符串中的2013.10.10
。说明和演示:http://regex101.com/r/bL7eO0
(?<=\d ).*(?= felsz)
应与FEL
匹配。说明和演示:http://regex101.com/r/pV2mW5
如果你想要他们捕获组,你可以使用正则表达式:
\| (\d+\.\d+\.\d+) (.+?) .*
答案 2 :(得分:1)
假设FEL
始终是一个单词(即由空格分隔),您可以使用以下表达式:
(\d{4}\.\d\d\.\d\d) ([^\s]+) (.*)