跳过字符在正则表达式
问题描述:
,我有以下数据跳过字符在正则表达式
Animals = Dog Cat Turtle \
Mouse Parrot \
Snake
我想正则表达式来构建一个匹配只是动物与没有反斜杠:Dog Cat Turtle Mouse Parrot Snake
我有一个正则表达式,但需要一些帮助完成它。
/ANIMALS\s*=\s*([^\\\n]*)/
答
如何回合正则表达式\b(?!Animals\b)\w+\b
匹配所有不是Animals
的单词?使用scan
方法来收集所有这样的匹配,例如
matchArray = sourceString.scan(/\b(?!Animals\b)\w+\b/)
+0
谢谢,这不完全是我所需要的,但它帮助我朝正确的方向发展。 – elmt 2010-09-30 19:31:28
答
既然你指定了一种语言,我需要问你这个问题:你为什么要依赖一切的正则表达式?不要让问题比通过强制正则表达式去做所有事情更难。
试试这个办法,而不是...
- 使用
gsub!
摆脱反斜杠。 -
split
任何空白字符串。 - 移出前两个标记(“动物”,“=”)。
- 使用单个空格或任何其他分隔符来加入数组。
所以你可能需要的唯一正则表达式是一个用于空格分隔符的分割。不过,我不太了解Ruby,可以确切地说出你会怎么做。
答
确保您与忽略大小写匹配,因为ANIMALS不会在没有它的情况下匹配动物。
为什么不从数据中去除\ – JoshD 2010-09-30 19:06:02