使用Google re2 https://github.com/google/re2/blob/master/doc/syntax.txt
来自
之类的几行
- 我爱摇滚
- 我爱摇滚和剪刀
- 我讨厌纸
- 我喜欢摇滚,纸和剪刀
- 我爱自己
醇>
我想提取" Rock"," paper""剪刀"从每一行。我希望正则表达式匹配以上所有五行并给我摇滚,纸和剪刀找到的东西。我主要在Google表格中使用此功能,但任何Google re2正则表达式都应该有所帮助。
我试过......
".*(([Rock]{0,4})).*"
".*(([Rock]{4})|([Rock]{0})).*"
=REGEXEXTRACT(A2,".*(Rock{0,2}).*(paper{0,2}).*(scissors{0,2}).*")
和多个其他组合从任何一行获得Rock,如果存在......但是,它总是更喜欢零而不是四...即使它找到Rock,它也会返回空字符串。如果我用{1}替换{0}我得到" k"即使找到完整的摇滚乐。
有什么想法吗?
答案 0 :(得分:2)
到目前为止,我发现Google表格中不支持某些regex features。
请尝试以下解决方法:
=ArrayFormula(IFERROR(REGEXREPLACE(A3,REGEXREPLACE(A3,"(Rock|paper|scissors)","(.*)"),{"$1","$2","$3"})))
在步骤1中,此公式为步骤2生成正则表达式:
答案 1 :(得分:0)
(Rock)
将搜索字母R o c k。相反,请使用$ python3 --version
Python 3.6.2
$ python --version
Python 2.7.13
$ aws --version
aws-cli/1.11.120 Python/2.7.10 Darwin/16.0.0 botocore/1.5.83