问题标签 [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.
regex - 正则表达式用 bool 替换 Boolean
我正在研究最近从 X/Motif 转移到 Qt 的 C++ 代码库。我正在尝试编写一个 Perl 脚本,它将所有出现的布尔值(来自 X)替换为 bool。该脚本只是做一个简单的替换。
有几个条件。
1) 我们的代码中有 CORBA,并且 \b 匹配不应更改的 CORBA:: Boolean。
2) 如果它被找到为一个字符串,它不应该匹配(即“布尔”)
更新:
对于#1,我使用了lookbehind
对于#2,我使用了前瞻。
这很可能适用于我的情况,但以下改进如何?
3)如果在字符串中间,则不匹配(感谢nohat)。
4)如果在评论中,不要匹配。(// 或者 /**/)
javascript - 替换 Javascript 中正则表达式匹配的第 n 个实例
我正在尝试编写一个正则表达式函数,该函数将识别和替换字符串中匹配的单个实例而不影响其他实例。例如,我有这个字符串:
我想用&符号替换第二组管道以获取此字符串:
正则表达式函数需要能够处理 x 数量的管道并允许我替换第 n 组管道,所以我可以使用相同的函数来进行这些替换:
我知道我可以在管道上拆分/替换/连接字符串,而且我也知道我可以匹配/\|\|/
并遍历结果数组,但我很想知道是否可以编写一个可以做这个。请注意,这适用于 Javascript,因此可以在运行时使用 生成正则表达式eval()
,但不能使用任何 Perl 特定的正则表达式指令。
regex - 如何使用 grep 找到损坏的 NMEA 日志语句?
我的 GPS 记录器偶尔会在日志文件末尾留下“未完成”行。我认为它们只是在最后,但我想检查所有行以防万一。
一个完整的句子示例如下所示:
该行应该以一个$
符号开始,并以一个*
和两个字符的十六进制校验和结束。我不在乎校验和是否正确,只要它存在即可。它还需要忽略没有校验和且位于每个文件开头的“ADVER”语句。
以下 Python 代码可能有效:
grep
有没有办法用or或简单的东西来做到这awk
一点?我还没有真正想出如何grep
去做我想做的事。
更新:感谢@Motti 和@Paul,我几乎可以完成以下操作,但必须使用单引号并删除尾随$
才能起作用:
还有两个问题,我怎样才能让它忽略空行?我可以结合最后两个grep
s 吗?
javascript - 如何用链接替换纯 URL?
我正在使用下面的函数来匹配给定文本中的 URL,并将它们替换为 HTML 链接。正则表达式运行良好,但目前我只替换第一个匹配项。
如何替换所有 URL?我想我应该使用exec命令,但我并没有真正想出如何去做。
php - datetime (2008-09-01 12:35:45) 的正则表达式模式是什么?
DateTime (2008-09-01 12:35:45) 的 RegEx 模式是什么?
我收到此错误:
未找到结束分隔符 '^'
使用:
给出这个错误:
警告:preg_match() [function.preg-match]:编译失败:在第 19 行的 E:\www\index.php 中的偏移量 0 处没有重复内容
php - 如何抓取 HTML 标签的内容?
嘿,所以我想做的是抓住第一段的内容。该字符串$blog_post
包含许多段落,格式如下:
我遇到的问题是我正在编写一个正则表达式来获取第一个<p>
标签和第一个结束</p>
标签之间的所有内容。但是,它抓住了第一个<p>
标签和最后一个结束</p>
标签,这导致我抓住了所有东西。
这是我当前的代码:
regex - 正则表达式匹配唯一的子字符串
这是我从未记住的基本正则表达式技术。假设我正在使用一个相当通用的正则表达式实现(例如,grep 或 grep -E)。如果我要做一个文件列表并匹配任何以.sty
or结尾的文件.cls
,我会怎么做?
regex - 匹配 (C) 函数调用的正则表达式
有没有人有一个正则表达式来匹配 C 程序中的函数调用?
c# - 使用正则表达式解析日志文件
我目前正在为我们的内部日志文件(由 log4php、log4net 和 log4j 生成)开发一个解析器。到目前为止,我有一个很好的正则表达式来解析日志,除了一个烦人的位:一些日志消息跨越多行,我无法正确匹配。我现在拥有的正则表达式是这样的:
日志格式(我用来测试解析器)是这样的:
当我现在运行解析器时,我只得到日志开始的那一行。如果我将其更改为跨越多行,我只会得到一个结果(整个日志文件)。
@samjudson:
您需要将 RegexOptions.Singleline 标志传递给正则表达式,以便“。” 匹配所有字符,而不仅仅是除了换行符(这是默认设置)之外的所有字符。
我试过了,但它与整个文件匹配。我还尝试将消息组设置为 .+? (非贪婪),但它匹配单个字符(这也不是我要找的)。
问题是消息的模式也与日期组匹配,所以当它没有在换行符上中断时,它只会继续下去。
我现在将这个正则表达式用于消息组。它可以工作,除非日志消息中的模式与日志消息的开头相同。
regex - 如何评估IP?
如何确定字符串是否为 IP 地址?IPv4还是IPv6?_
最少和最多的字符是多少?
我认为这将是一个正则表达式的答案。