Questions tagged «regex»

正则表达式提供了一种声明性语言来匹配字符串中的模式。它们通常用于字符串验证,解析和转换。由于正则表达式尚未完全标准化,因此带有此标签的所有问题还应包括一个标签,用于指定适用的编程语言或工具。注意:询问HTML,JSON等正则表达式往往会产生负面反应。如果有解析器,请改用它。

8
我如何识别邪恶的正则表达式?
最近,我意识到正则表达式拒绝服务攻击,并决定在我的代码库中可以找到的所谓“邪恶”正则表达式模式中根除-至少是在用户输入中使用的那些。上面的OWASP链接和Wikipedia上给出的示例很有帮助,但它们不能很好地用简单的术语解释问题。 邪恶的正则表达式的描述,来自维基百科: 正则表达式将重复(“ +”,“ *”)应用于复杂的子表达式; 对于重复的子表达式,存在一个匹配项,它也是另一个有效匹配项的后缀。 再次举例,来自维基百科: (a+)+ ([a-zA-Z]+)* (a|aa)+ (a|a?)+ (.*a){x} x> 10时 这是一个没有更简单解释的问题吗?我正在寻找可以简化编写正则表达式或在现有代码库中查找它们的问题。
83 regex 

9
从C#中包含&nbsp的字符串中删除HTML标签
如何在C#中使用正则表达式删除所有HTML标记,包括&nbsp。我的弦看起来像 "<div>hello</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div>                                                      </div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div>"
83 c#  html  regex  string 

8
Notepad ++逐步替换
可以说我想有10行数据,但我想为每行或每条数据增加一个值。如何增加该值? 例如....如果我有这些行,是否有正则表达式替换ID值以递增的方式? <row id="1" /> <row id="1" /> <row id="1" /> <row id="1" /> <row id="1" /> ---这就是我想要的样子...(如果第一行的ID上升,那没关系) <row id="1" /> <row id="2" /> <row id="3" /> <row id="4" /> <row id="5" />

4
RegExp.exec()偶尔返回NULL
我为此感到非常疯狂,并且我已经花费了不成比例的时间来试图弄清这里正在发生什么。所以请帮我=) 我需要对JavaScript中的字符串进行RegExp匹配。不幸的是,它的行为非常奇怪。这段代码: var rx = /(cat|dog)/gi; var w = new Array("I have a cat and a dog too.", "There once was a dog and a cat.", "I have a cat and a dog too.", "There once was a dog and a cat.","I have a cat and a dog too.", "There …
83 javascript  regex 

6
正则表达式语法是否“不匹配”?
我有一个大量使用regexp的python模板引擎。它使用如下连接: re.compile( regexp1 + "|" + regexp2 + "*|" + regexp3 + "+" ) 我可以修改单个子字符串(regexp1,regexp2等)。 是否有任何轻巧的表达式什么都不匹配,我可以在不需要任何匹配的模板中使用它?不幸的是,有时将'+'或'*'附加到regexp原子上,所以我不能使用空字符串-这将引发“无可重复”的错误。
82 python  regex 

7
如何将整个字符串与正则表达式匹配?
我需要一个仅在整个字符串与我的查询匹配的地方找到匹配项的正则表达式。 例如,如果我搜索名称为“红色十月”的电影,我只想匹配该确切标题(不区分大小写),而不匹配“狩猎红色十月”之类的标题。不太确定我知道该怎么做。有人知道吗 谢谢!
82 c#  .net  regex 

7
用“,”分隔句子并删除周围的空格
我有这个代码: var r = /(?:^\s*([^\s]*)\s*)(?:,\s*([^\s]*)\s*){0,}$/ var s = " a , b , c " var m = s.match(r) m => [" a , b , c ", "a", "c"] 看起来整个字符串都已匹配,但是哪里"b"去了?我希望得到: [" a , b , c ", "a", "b", "c"] 这样我就可以m.shift()处理类似的结果,s.split(',')但也可以删除空格。 我在正则表达式中有错误还是误解String.prototype.match?
82 javascript  regex 

7
Java正则表达式提取标签之间的文本
我有一个带有一些自定义标签的文件,我想编写一个正则表达式来提取标签之间的字符串。例如,如果我的标签是: [customtag]String I want to extract[/customtag] 如何编写正则表达式以仅提取标记之间的字符串。这段代码似乎朝着正确的方向迈出了一步: Pattern p = Pattern.compile("[customtag](.+?)[/customtag]"); Matcher m = p.matcher("[customtag]String I want to extract[/customtag]"); 不知道下一步该怎么做。有任何想法吗?谢谢。
82 java  regex 

5
Javascript + Regex =没有重复的错误吗?
我是Regex的新手,我正在尝试将其用于我的新项目之一,以查看是否可以学习并将其添加到我的技能储备中。但是,我在这里遇到了障碍。 我试图通过使用.search函数来查看用户输入中是否包含非法字符: if (name.search("[\[\]\?\*\+\|\{\}\\\(\)\@\.\n\r]") != -1) { ... } 但是,当我尝试执行该函数时,包含该行,因此该特定行会引发以下错误: Uncaught SyntaxError: Invalid regular expression: /[[]?*+|{}\()@. ]/: Nothing to repeat 我一生都看不到代码有什么问题。谁能指出我正确的方向?

5
正则表达式和GWT
我的问题是:在GWT中使用正则表达式是否有很好的解决方案? 例如,我对String.split(regex)的使用不满意。GWT将代码转换为JS,然后将正则表达式用作JS正则表达式。但是我不能使用Java Matcher或Java Pattern之类的东西。但是我需要这些来进行组匹配。 有没有可能或图书馆? 我尝试了Jakarta Regexp,但是还有其他问题,因为GWT不能模拟该库使用的Java SDK的所有方法。 我希望能够在客户端使用类似这样的东西: // Compile and use regular expression Pattern pattern = Pattern.compile(patternStr); Matcher matcher = pattern.matcher(inputStr); boolean matchFound = matcher.find(); if (matchFound) { // Get all groups for this match for (int i=0; i<=matcher.groupCount(); i++) { String groupStr = matcher.group(i); System.out.println(groupStr); } }
81 java  regex  gwt 

5
将MatchCollection转换为字符串数组
有比这更好的方法来将MatchCollection转换为字符串数组吗? MatchCollection mc = Regex.Matches(strText, @"\b[A-Za-z-']+\b"); string[] strArray = new string[mc.Count]; for (int i = 0; i < mc.Count;i++ ) { strArray[i] = mc[i].Groups[0].Value; } PS:mc.CopyTo(strArray,0)引发异常: 无法将源数组中的至少一个元素转换为目标数组类型。
81 c#  arrays  regex 

9
在JUnit中声明正则表达式匹配
RubyTest::Unit有一个很好的assert_matches方法,可以在单元测试中使用它来断言正则表达式与字符串匹配。 JUnit中是否有类似的东西?目前,我这样做: assertEquals(true, actual.matches(expectedRegex));
81 java  regex  junit 




By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.