我正在尝试提取此文本中 _
和 .
之间的所有内容:
CIL20150424_NSGS02RPK.dat
CIL20150424_NSU01MAH.dat
给我这些匹配:
NSGS02RPK
NSU01MAH
我正在使用这个site我能做的最好的事情就是使用负向查找来定位 _
:
\d(_=?)
但这也会选择 4 4_
。
如何选择此文本中 _
和 .
之间的所有内容?
最佳答案
此正则表达式与您的目标匹配:
(?<=_).*?(?=\.)
参见live demo .
正则表达式使用后视来表示下划线,一个不情愿量词(以防每行有多个),以及前视点(您必须转义以匹配文字)点)。
顺便说一句,您尝试的前瞻(_=?)
不是前瞻,它是一个捕获的(括号内的)下划线,后跟一个可选的等号。
关于regex - 正则表达式 - 从文本中提取下划线和点之间的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30632846/