我想在一个单词后使用正则表达式得到两个特定的单词
所以我有以下文字
code: 'dev-foo-1', text: foo, bla:, blabla, ..., tokenId: '1234566343434', accountId: '123456789',...
我想从这个文本只有代码dev-foo-1
和帐户ID 123456789
,但我有问题,选择这两个。
我试着做一些
code:'\([a-z]{3})([a-z]+)([0-9])'\accountId: \'([0-9])'
这是不对的
1条答案
按热度按时间6yt4nkrj1#
(Note我在你的代码中忽略了反斜杠,因为它们的应用似乎不一致-如果你使用单引号字符串来分隔你的模式,你需要在每个单引号之前添加斜杠)
如果
code
总是出现在accountId
之前,那么你就很接近答案了。你在code
和代码之间缺少了一个空格,以及代码部分之间的破折号:然后在
accountId
之前可以有任何字符,所以你需要.*
来匹配它们。实际上,你可以使用.*?
来成为non-greedy。最后,您的
accountId
当前只匹配一个数字,但您可能希望将一个 * 或多个 * 与[0-9]+
匹配:我们就结束了