我有以下数据
Animals = Dog Cat Turtle \
Mouse Parrot \
Snake
我希望正则表达式只构建一个没有反斜杠的动物的匹配:Dog Cat Turtle Mouse Parrot Snake
我有一个正则表达式,但需要一些帮助来完成它。
/ANIMALS\s*=\s*([^\\\n]*)/
答案 0 :(得分:3)
由于你指定了一种语言,我需要问你:为什么你依赖正则表达式来做所有事情?不要强迫正则表达式做任何事情,使问题变得更难。
尝试这种方法......
gsub!
删除反斜杠。split
任何空格上的字符串。因此,您可能需要的唯一正则表达式是用于空白分隔符拆分的正则表达式。我不太了解Ruby,无法准确地说出你将如何做到这一点。
答案 1 :(得分:1)
如何匹配所有不是\b(?!Animals\b)\w+\b
的单词的正则表达式Animals
?使用scan
方法收集所有此类匹配,例如
matchArray = sourceString.scan(/\b(?!Animals\b)\w+\b/)
答案 2 :(得分:0)
确保您与ignore-case匹配,因为没有它,ANIMALS将无法匹配动物。