我有一个看起来像的字符串:
“某些令牌”,“另一个令牌”,“尚未 另一个标记“,”必要的令牌“,”知道令“,”旁边 已知令牌“
如何使用给定字符串中的正则表达式获取“必要的令牌”?
我尝试了下一个表达式:
\"(.+)\","KNOWN TOKEN"
但它匹配从开头到“KNOWN TOKEN”部分的整个子字符串。我需要让它“懒惰”,但我无法管理如何实现这一点(我试图在第一组后面放置问号并且在里面它并没有用。)
答案 0 :(得分:3)
将其更改为“除引号之外的任何内容”:
\"([^\"]+)\","KNOWN TOKEN"
您的(.+)
与some token...
到...Necessary Token
之间的所有内容(引用也是如此)相匹配。我的([^\"]+)
可能只匹配Necessary Token
,因此先前的引号将设置为Necessary Token
的初始引号。
或者,如果您的编程语言允许,请使用一个好的CSV解析器,即使引号中的逗号也要小心,找到KNOWN TOKEN并在其前面取元素。
答案 1 :(得分:3)
\"([^\"]+)\","KNOWN TOKEN"
答案 2 :(得分:0)