问题标签 [regex]

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 投票
10 回答
2591 浏览

c++ - C++ 中易于使用的正则表达式支持?

我正在为本地 C++ 寻找一个健壮的、易于使用的正则表达式评估器,无论是平台独立的还是特定于 Windows 的。

要求:

  • 不能使用 Boost 或 ACE 正则表达式库(很遗憾)
  • 不能使用 .NET Regex(或任何托管代码)

主要要求是它应该是独立的和开放的。

0 投票
9 回答
85515 浏览

regex - 正则表达式:提取字符串中两个标签之间的子字符串

我有一个格式如下的文件:

我想使用正则表达式Data I want[Start][End]标签之间获取。谁能告诉我如何做到这一点?

0 投票
4 回答
20464 浏览

php - 在 PHP 中使用 preg_replace 时如何获得匹配项?

我试图抓住几个单词的大写字母并将它们包装在跨度标签中。我将preg_replace用于提取和包装目的,但它没有输出任何内容。

0 投票
1 回答
138125 浏览

regex - 学习正则表达式

我真的不明白正则表达式。你能以易于理解的方式向我解释吗?如果有任何在线工具或书籍,您能否也链接到它们?

0 投票
4 回答
4916 浏览

regex - 为什么这个正则表达式更快?

我正在用 C# 编写各种 Telnet 客户端,我必须解析的部分内容是 ANSI/VT100 转义序列,特别是那些用于颜色和格式的转义序列(详见此处)。

我拥有的一种方法是找到所有代码并将其删除,因此如果需要,我可以在没有任何格式的情况下呈现文本:

我是正则表达式的新手,有人建议我使用它:

但是,如果由于服务器上的错误而导致转义码不完整,则此操作会失败。所以有人建议这样做,但我的朋友警告说它可能会更慢(这也符合我以后可能遇到的另一个条件(z)):

这不仅有效,而且实际上更快并减少了对我的文本渲染的影响。有人可以向正则表达式新手解释,为什么?:)

0 投票
9 回答
3158 浏览

regex - 什么是好的正则表达式?

我主要在访问 Oracle 数据库的 Java 桌面应用程序方面工作了 5 年,我从未使用过正则表达式。现在我进入 Stack Overflow,我看到了很多关于它们的问题;我觉得我错过了什么。

你用正则表达式做什么?

PS对不起我的英语不好

0 投票
9 回答
11665 浏览

.net - 用于解析网页链接的正则表达式?

我正在寻找一个 .NET 正则表达式从网页中提取所有 URL,但还没有找到一个足够全面来涵盖您可以指定链接的所有不同方式。

还有一个附带问题:

是否有一个正则表达式来统治它们?还是我最好使用一系列不太复杂的正则表达式,只对原始 HTML 使用多重传递?(速度与可维护性)

0 投票
8 回答
54637 浏览

mysql - 从 MySQL 中的字符串中删除引号和逗号

我正在从CSV文件中导入一些数据,以及大于1000变成的数字1,100等。

从中删除引号和逗号以便我可以将其放入int字段的好方法是什么?

编辑:

数据实际上已经在 MySQL 表中,所以我需要能够使用 SQL。很抱歉混淆了。

0 投票
5 回答
2303 浏览

c# - 如何在 C# 中使用正则表达式检索选定的文本?

如何在 C# 中使用正则表达式检索选定的文本?

我正在寻找与此 Perl 代码等效的 C# 代码:

0 投票
4 回答
1747 浏览

regex - 如何将正则表达式绑定到 emacs 中的组合键?

对于上下文,我是一个 emacs 新手。我已经很久没有使用它了,但是已经越来越多地使用它(我非常喜欢它)。我对 lisp 也很满意,但对 elisp 不是很熟悉。

我需要做的是将正则表达式绑定到键盘组合,因为我经常使用这个特定的正则表达式。

我一直在做什么:

请注意,我在上面使用了换行符,但我发现对于isearch-forward-regexp,您确实需要将\n正则表达式中的 替换为C-q Q-j. 这会插入一个文字换行符(不结束命令),使我能够将换行符放入表达式并跨行匹配。

如何将其绑定到组合键?

我隐约明白我需要创建一个isearch-forward-regexp用表达式执行的 elisp 函数,但我对细节很模糊。我搜索了谷歌,发现大多数文档有点令人困惑。

如何将正则表达式绑定到 emacs 中的组合键?


到目前为止,迈克·斯通(Mike Stone)给出了最好的答案——不完全是我想要的,但它满足了我的需要

编辑 - 这种工作,但是在存储宏之后,当我稍后回去使用它时,我无法将它与C-x e. (即,如果我重新启动 emacs,然后键入M-x macro-name, 然后C-x e,我会在 minibuffer 中收到一条消息,例如“没有最后一个 kbd 宏”或类似的东西)


@Mike Stone - 感谢您提供信息。我尝试像这样创建一个宏:

这创建了我的宏,但是当我执行我的宏时,我没有得到与我通常使用isearch-forward-regexp. 相反,它只是跳到表达式的下一个匹配项的末尾。所以这并不能满足我的需要。有任何想法吗?

编辑:看起来我可以使用宏来做我想做的事,我只需要跳出isearch-forward-regexp. 我会尝试你的建议。