我难住了!我用谷歌搜索,阅读,阅读,阅读,我确定有一些东西 真傻我做错了。这是来自一个 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*/\">([^(]*) \\("); 


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!