【发布时间】:2014-03-19 23:15:16
【问题描述】:
当我做一个简单的测试时,我正在复习我在 java 中的正则表达式
Pattern.matches("q", "Iraq"); //false
"Iraq".matches("q"); //false
但在 JavaScript 中
/q/.test("Iraq"); //true
"Iraq".match("q"); //["q"] (which is truthy)
这里发生了什么?我可以让我的 Java 正则表达式模式“q”的行为与 JavaScript 相同吗?
【问题讨论】:
-
请不要仅仅根据名称来比较两种不同语言的方法。而是去看看各自的文档。
-
我发现它匹配整个字符串,但是除了“有关正则表达式构造行为的更精确描述,请参阅 Mastering Regular Expressions, 3nd Edition, Jeffrey 之外,java 没有任何文档EF Friedl,O'Reilly and Associates,2006 年。”
-
你引用的句子前面有不少于 9 屏对 Java 正则表达式语法和语义的详细阐述。
-
当然,这只是类文档,您调用的特定方法的文档指向:
Attempts to match the entire region against the pattern. -
好吧,我发现它不是在 Pattern 上,而是在(显然)Matcher 的页面上 - matches 方法尝试将整个输入序列与模式匹配...
标签: java javascript regex