Tag: 正则表达式

正则表达式中的“\ d”是指数字吗?

我发现123 , \d匹配1和3但不是2 。 我想知道\d是否符合什么样的要求的数字? 我正在谈论Python风格的正则表达式。 Gedit中的正则表达式插件使用Python风格的正则表达式。 我创建了一个文本文件,其内容是 123 只有1和3匹配的正则表达式\d ; 2不是。 通常对于一个没有其他字符的数字序列,只有奇数的数字是匹配的,而偶数的数字则不是。 例如在12345 ,比赛是3和5 。

JavaScript的正则表达式多行标志不起作用

我写了一个正则表达式来从HTML中获取字符串,但似乎多行标志不起作用。 这是我的模式,我想获得在h1标签的文字。 var pattern= /<div class="box-content-5">.*<h1>([^<]+?)<\/h1>/mi m = html.search(pattern); return m[1]; 我创建了一个字符串来测试它。 当字符串包含“\ n”时,结果始终为空。 如果我删除所有的“\ n”,它给了我正确的结果,无论有没有/ m标志。 我的正则表达式有什么问题?

如何在多行中使用JavaScript正则表达式?

var ss= "<pre>aaaa\nbbb\nccc</pre>ddd"; var arr= ss.match( /<pre.*?<\/pre>/gm ); alert(arr); // null 我希望PRE块被拾取,即使它跨越换行符。 我以为这个“m”的标志就是这样做的。 才不是。 在发布前找到答案。 我以为自己知道JavaScript(读了三本书,工作了几个小时),现在还没有解决方案,反正我也敢发表。 在这里扔石头 所以解决办法是: var ss= "<pre>aaaa\nbbb\nccc</pre>ddd"; var arr= ss.match( /<pre[\s\S]*?<\/pre>/gm ); alert(arr); // <pre>…</pre> 🙂 有没有人有一个更神秘的方式? 编辑: 这是一个重复,但因为它比我更难找到,我不删除。 它提出[^]为“多行点”。 我仍然不明白的是为什么[.\n]不起作用。 猜猜这是JavaScript的悲伤部分之一..

最快的方法将HTML标签转义为HTML实体?

我正在编写一个Chrome扩展,它涉及到很多以下工作:通过将< , >和&转换为&lt; , &gt; 和&amp; , 分别。 (换句话说,就像PHP的htmlspecialchars(str, ENT_NOQUOTES) – 我不认为有任何实际的需要转换双引号字符。) 这是迄今为止我发现的最快的功能: function safe_tags(str) { return str.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;') ; } 但是,如果我一次只能运行几千个字符串,还是有很大的滞后。 任何人都可以改善呢? 这主要是10到150个字符之间的字符串,如果这有所作为。 (我有一个想法是不打扰编码大于号 – 将有任何真正的危险呢?)

如何将整个字符串与正则表达式匹配?

我需要一个正则表达式,它只会查找整个字符串与我的查询匹配的匹配项。 例如,如果我搜索名称为“红色十月”的电影,我只想匹配确切的标题(不区分大小写),但不匹配“红色十月寻宝”这样的标题。 不太确定我知道如何做到这一点。 有人知道吗? 谢谢!

在Python中转义正则表达式字符串

我想使用用户的输入作为正则表达式来搜索某些文本。 它的工作原理,但我如何处理用户在正则表达式中有意义的字符? 例如,用户想要搜索Word (s) :正则表达式引擎将把这个(s)作为一个组。 我希望它把它看作一个字符串"(s)" 。 我可以运行replace用户输入和替换(与\(和) \)但问题是我将需要做替换每一个可能的正则表达符号。 你知道更好的方法吗?

“现代”正则表达式的认知力

真正的现代正则表达式实际上认可什么类型的语言? 每当有一个带有反向引用的无限长度捕获组(例如(.*)_\1 ),正则表达式现在就匹配一个非正则语言。 但是,它本身不足以匹配像S ::= '(' S ')' | ε S ::= '(' S ')' | ε – 匹配成对副本的上下文无关语言。 递归正则表达式(对我来说是新的,但我确信存在于Perl和PCRE中)至少可以识别大多数CFL。 有没有人做过或读过这方面的研究? 这些“现代”正则表达式的局限性是什么? 他们是否认可LL或LR语法的严格多于或者少于CFG? 或者是否存在可以被正则表达式识别但不是CFG的两种语言,反之亦然? 有关论文的链接将不胜感激。

如何使用grep跨多行查找模式?

我想按这个顺序查找具有“abc”和“efg”的文件,这两个字符串在该文件中位于不同的行上。 例如:包含以下内容的文件: blah blah.. blah blah.. blah abc blah blah blah.. blah blah.. blah blah.. blah efg blah blah blah blah.. blah blah.. 应该匹配。

整个单词匹配在JavaScript中

我在我的网页上使用JavaScript。 我试图通过文本框搜索一个单一的整个单词。 说我搜索:'我',我应该找到文本中的所有'我',但没有找到'memmm'说。 我正在使用JavaScript的搜索(“我的正则表达式”)执行当前的搜索(没有成功)。 谢谢! 编辑:几个建议使用\ b开关[这似乎并不工作]我发布我的问题的修订解释: 嗯,从某种原因来看,这似乎并没有这么花招。 假设以下javascript搜索文本: <script type='text/javascript'> var lookup = '\n\n\n\n\n\n2 PC Games \n\n\n\n'; lookup = lookup.trim() ; alert(lookup ); var tttt = 'tttt'; alert((/\b(lookup)\b/g).test(2)); </script> 移动线是必不可少的

正则表达式提取方括号之间的文本

简单的正则表达式问题。 我有以下格式的字符串: this is a [sample] string with [some] special words. [another one] 什么是正则表达式提取方括号内的单词,即。 sample some another one 注意:在我的用例中,括号不能嵌套。