Tag: regex negation

帮助修复BBcode正则表达式

我有一个抓住bbcode标签的正则表达式。 除了小故障外,它的效果很好。 这是当前的表达式: \[([^=\[\]]+)[=\x22′]*([^ \[\]]*)[‘\x22]*\](.+)\[/\1\] 以下是它成功匹配的一些文本及其构建的组: [url = http://www.google.com]转到谷歌![/ url] 1:url 2: http : //www.google.com 3:去谷歌! [IMG] http://sofzh.miximages.com/c%23/f [/ IMG] 1:img 2:NULL 3: http : //www.somesite.com/someimage.jpg [quote] [quote]第一次嵌套引用[/ quote] [quote]第二次嵌套引用[/ quote] [/ quote] 1:引用 2:NULL 3:[quote]第一次嵌套引用[/ quote] [quote]第二次嵌套引用[/ quote] 所有这一切都很棒。 我可以通过对同一个正则表达式运行第三个匹配组来处理嵌套标记,并递归处理嵌套的所有标记。 问题在于使用[quote]标签的示例。 请注意,第三个匹配组是一组两个引用标记,因此我们期望两个匹配。 但是,我们得到一个匹配,如下所示: [quote]第一次嵌套引用[/ quote] [quote]第二次嵌套引用[/ quote] 1:引用 2:NULL 3:第一次嵌套引用[/ quote] [quote]第二次嵌套引用 哈啊! 这根本不是我们想要的。 […]

正则表达式匹配一切但是

我想创建一个正则表达式来匹配字符串中的每个单词,空格,标点符号和特殊字符,除了特定的关键字或短语。 因为我只能修改正则表达式,而不是服务器代码我必须使用匹配而不是替换。 到目前为止,我有类似的东西: (?!(quick|brown|fox|the lazy))\b\w+但它忽略了此工具中的空格和特殊字符 谢谢。

将正则表达式语法扩展为“不包含文本XYZ”

我有一个应用程序,用户可以在许多地方指定正则表达式。 这些在运行应用程序时用于检查文本(例如URL和HTML)是否与正则表达式匹配。 用户通常希望能够说出文本与ABC匹配的位置并且与XYZ不匹配 。 为了方便他们这样做,我想在我的应用程序中扩展正则表达式语法,并说出’ 并且不包含模式 ‘。 有什么建议可以做到这一点吗? 我的应用程序是用C#.NET 3.5编写的。 我的计划(在我得到这个问题的真棒答案之前……) 目前我正在考虑使用¬字符:在¬字符是正常正则表达式之前的任何内容,¬字符之后的任何内容都是在要测试的文本中无法匹配的正则表达式。 所以我可能会使用像这样(人为的)示例的一些正则表达式: on (this|that|these) day(s)?¬(every|all) day(s) ? 例如, 在这一天,男人说…… “但是在这一天和之后的每一天都不会匹配…… ”。 在我处理正则表达式的代码中,我将简单地拆分正则表达式的两个部分并分别处理它们,例如: public bool IsMatchExtended(string textToTest, string extendedRegex) { int notPosition = extendedRegex.IndexOf(‘¬’); // Just a normal regex: if (notPosition==-1) return Regex.IsMatch(textToTest, extendedRegex); // Use a positive (normal) regex and a negative one string […]

如何编写正则表达式以匹配不包含单词的字符串?

可能重复: 正则表达式匹配不包含单词的字符串? 为了不匹配我将使用的一组字符,例如[^\”\\r\\n]* 现在我想不匹配固定的字符集,例如“| =” 换句话说,我想匹配:(不是“,不是\ r,不是\ n,而不是| =)。 编辑:我试图修改正则表达式来解析用分隔符分隔的数据。 我得到的单分隔符解决方案形成了一个CSV解析器 ,但现在我想将它扩展为包含多字符分隔符。 我认为前瞻不会起作用,因为我想消费,而不仅仅是断言和丢弃匹配的字符。

C#Regex匹配不包含某个字符串的字符串?

我想匹配任何不包含字符串“DontMatchThis”的字符串。 什么是正则表达式?