我难住了!我用谷歌搜索,阅读,阅读,阅读,我确定有一些东西 真傻我做错了。这是来自一个 Greasemonkey 脚本,我一生都无法启动和正确执行。我正在尝试匹配这个:
<a href="/browse/post/SOMETHING/">**SOMETHING** (1111)</a>
这是我正在使用的:
var titleRegex = new RegExp("<a href=\"/browse/post/\d*/\">(.*) \(");
我确定我缺少某种转义字符?但我就是想不通,这样 Firefox 就不会出错。
我使用 http://regexpal.com/ 生成正则表达式-- 在 Firefox 错误控制台中,我收到“未终止的括号”
请您参考如下方法:
从字符串而不是正则表达式文字构建正则表达式时,您需要将反斜杠加倍。
然后,\d*
只匹配数字。我假设 SOMETHING
只是一个占位符,但如果它包含除数字以外的任何内容,它将失败。
此外,您应该使用 (.*?)
(懒惰)而不是(.*)
(贪婪),或者你可能匹配太多。也许 ([^(]*)
会更好。
但是,很难说,如果不了解您要匹配的实际文本的更多信息。
总而言之:
var titleRegex = new RegExp("<a href=\"/browse/post/\\d*/\">([^(]*) \\(");