问题标签 [regex-negation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1704 浏览

java - 如何为 HTML 简单文本制作正则表达式模式?

我正在尝试为一堂课学习正则表达式模式。我正在制作一个简单的 HTML Lexer/Parser。我知道这不是制作 Lexer/Parser 的最佳或最有效的方法,但它只是为了理解 Regex 模式。

所以我的问题是,如何创建一个模式来检查字符串是否不包含任何 HTML 标记(即<TAG>)并且不包含任何 HTML 实体(即&ENT;)?

到目前为止,这是我能想到的,但它仍然不起作用:

编辑: 唯一的问题是我不能否定最终结果我需要找到一个完整的模式来完成这项任务,如果可能的话,虽然它可能不漂亮。我从来没有提到过,但它几乎应该匹配 HTML 页面中的任何简单文本。

0 投票
2 回答
172 浏览

java - Java 中的正则表达式模式

我正在使用正则表达式模式,我需要检查字符串的开头是否是 HTML 简单文本并返回该字符串。例如:

应该返回:

Hello World!

0 投票
2 回答
764 浏览

ruby - 当字符串未与特定文本绑定时,使用 Ruby 1.8.7 进行正则表达式替换?

给定的-我使用的是 Ruby 1.8.7,因此不能使用负面的后视。我也知道oniguruma,但我正在寻找没有它的解决方案。

如果我有:

我该如何修改这个:

这样 [] 之间任何地方的“字符串”都不匹配,例如,所需的结果是:

谢谢!

0 投票
2 回答
1333 浏览

php - php PCRE 正则表达式仅获取以 .txt 结尾的文件名

所以我试图在php中形成一个PCRE正则表达式,专门用于preg_replace,它将匹配构成文本(.txt)文件名的任意数量的字符,从中我将派生文件的目录。

我最初的方法是定义终止的 .txt 字符串,然后尝试在除 / 或 \ 之外的每个字符上指定一个字符匹配,所以我最终得到如下内容:

但这似乎根本不起作用,我认为它可能将否定解释为 demorgan 的形式又名: (A+B)' <=> A'B'

但在尝试此测试后:

我得出了同样的结果,这让我认为我不应该逃避 or 运算符(|),但这也未能匹配。有人知道我在做什么错吗?

0 投票
5 回答
2489 浏览

regex - 正则表达式否定:匹配特定字符串以外的模式

我正在使用语音转文本应用程序,它提供转录文件作为输出。转录的文本包含一些标签,如(s)(用于句子开头).. (/s)(用于句子结尾).. (VOCAL_NOISE)(用于无法识别的单词).. 但是文本还包含不需要的标签,如(VOCAL_N), (VOCAL_NOISED), (VOCAL_SOUND), (UNKNOWN).. 我正在使用 SED 处理文本.. 但无法编写适当的正则表达式来替换除(s),(/s)(VOCAL_NOISE), 之外的所有其他标签~NS.. 如果有人可以帮助我,我将不胜感激它..

示例文本:

输出应该是:

0 投票
2 回答
2172 浏览

c# - 用于嵌套标签的 C# 正则表达式

让我们从一个小例子开始;我有以下文字:

[[ 一些标签 [[ 带有嵌套标签 ]] 和再次 ]]

我想匹配[[ with tag nested ]]但不是[[ some tag [[ with tag nested ]]。简单的

显然没有用。所以我创建了正则表达式:

不幸的是,它不匹配任何使用 C#(使用 MatchOptions.SingleLine)的东西,而 PHP 的 preg_match 工作得很好。

任何线索/想法?任何帮助将非常感激。

0 投票
5 回答
4250 浏览

regex - “不包含四个或更多重复字符”的正则表达式

我对正则表达式的经验是有限的,我一直在阅读各种关于否定和否定前瞻等的教程和帖子,但似乎没有什么能完全符合我的情况。

我正在尝试ASP.NET MVC3为密码复杂性创建一个属性。部分验证包括最少数量的重复字符。对于当前项目,限制是 3,但我想概括一下。

最初,我@"(.)\1{3,}"用来测试 4 个或更多重复字符,然后否定该结果。我现在不能这样做,因为我需要创建一个ModelClientValidationRegexRule对象,它只会产生积极的结果。因此,否定必须在正则表达式本身内部完成。我尝试使用负前瞻的每一种方式都失败了,例如@".*(?!(.)\1{3,})".

有任何想法吗?

0 投票
4 回答
179 浏览

ruby - 正则表达式保留所需的字符串并删除其他字符串

在 Ruby 中,如果包含字符串中存在所需的字符串,那么什么正则表达式会删除除所需字符串之外的所有字符串?我知道/[^abc]/字符,但是字符串呢?

假设我有字符串"group=4&type_ids[]=2&type_ids[]=7&saved=1"并且想要保留模式group=\d,如果它仅使用正则表达式存在于字符串中?

目前,我正在拆分&,然后=~ /group=\d/对生成的可枚举集合进行匹配条件的选择。它工作正常,但我想知道正则表达式更直接地做到这一点。

0 投票
2 回答
179 浏览

php - 在 php 中需要正则表达式和负匹配方面的帮助

我正在尝试匹配一个段落:

一个简单的<p>(.*?)</p>作品,但有时该段落包含另一个段落,所以我的模式在第一段结束后匹配,直到第二段结束。

导致我出现问题的段落如下所示:

如何匹配主要段落而忽略该段落中的任何其他 p 标签?

我试过

但它没有用。

我正在使用 preg_match_all php 函数。

0 投票
1 回答
449 浏览

regex - 否定正则表达式?

我有这样的字符串

我想用'world'替换所有'earth',除了img's src中的那个。即我想得到字符串

可能我需要一个智能的正则表达式来检测单词是否在 src 中,但找不到方法。或者可能是否定可能有帮助。

谢谢你的帮助。