pcre相关内容

如何在`K`重置匹配的情况下使用捕获组?

我找到了this question有关使用K重置匹配的捕获组的信息(即,不确定该名称是否正确),但它没有回答我的问题。 假设我有以下字符串: ab 以下regexaKb输出如预期的b: 但是,使用regex(aKb)添加捕获组(即$1)时,组$1返回ab而不是a: 给定以下字符串: ab cd 使用regex(aKb)|(cKd)我希望组$1包含b,组$2包含 ..
发布时间:2022-09-24 14:10:27 其他开发

将JSON整数和浮点数转换为字符串

我希望预先解析JSON,并在JSON中将整型和浮点值转换为字符串。此外,JSON中还有一些字符串值。 例如: { "first_name": "sample", "last_name": "lastname", "integer" : 100, "float" : 1555.20 } 我只是使用here中的preg_replace(): ech ..
发布时间:2022-09-24 14:00:09 PHP

匹配贪婪、非贪婪和介于两者之间的所有其他

给定一个类似"/foo/bar/baz/quux"的字符串(将其视为指向一个单一系统上的文件的路径),我如何(如果可能的话)制定一个正则表达式,给出可以说包含文件quux的所有可能路径? 换句话说,在对给定字符串("/foo/bar/baz/quux")运行regexp时,我希望获得AS结果: "/foo/" "/foo/bar/" "/foo/bar/baz/" 我尝试了以 ..
发布时间:2022-09-24 13:53:32 其他开发

限定符可以用于R中的正则表达式替换吗?

我的目标是用一个符号替换一个字符串,该符号重复的字符与该字符串的字符一样多,就像人们可以用\U\1替换大写字母一样,如果我的模式是(*),我用x\q1或{\q1}x替换由x\q1或{\q1}x捕获的字符,因此我将获得与*捕获的字符一样多的x。 这可能吗? 我主要在sub,gsub中思考,但您可以使用stringi,stringr等其他库来回答。 您可以方便地使用perl = TRUE或pe ..
发布时间:2022-09-24 13:44:41 其他开发

在php中,如何使用preg替换将URL转换为TinyURL

我需要将包含长URL的文本字符串转换为相同的字符串,但带有TinyURL(使用TinyURL API)。例如。转换 blah blah blah http://example.com/news/sport blah blah blah 进入 blah blah blah http://tinyurl.com/yaeocnv blah blah blah 如何做到这一点? ..
发布时间:2022-09-24 13:36:30 PHP

数学字母数字符号的RegEx

我一直在尝试删除这样的粗体字符: 𝐒𝐎𝐍𝐘𝐀 - New song 如您所见,这是一个没有标记的粗体文本。 我试过了,以为这些人物可能是一种表情符号,但我一点运气都没有。 $regex_emoticons = '/[x{1F600}-x{1F64F}]/u'; $clear_string = preg_replace($regex_emoticons, '', ..
发布时间:2022-09-24 13:24:35 PHP

PCRE全字匹配(仅允许使用空格作为分隔符)

我要将字符串作为一个完整的单词匹配"~$search~i",它匹配‘35’到‘35-40’。我只想让空格作为单词之间的分隔符。 测试用例: 在以下情况下匹配35: 35-40=>FALSE 3-5=>FALSE 335=>FALSE 350=>FALSE 35=>TRUE 感谢您的答复 推荐答案 您可以使用look-around assertions而不是 ..
发布时间:2022-08-08 17:30:46 PHP

如何在多行模式下更改PCRE regexp认为的换行符?

在PHP中使用PCRE正则表达式时,多行模式(/m)使^和$能够匹配源文本中的行首和行尾(由换行符分隔),以及源文本的开头和结尾。 这似乎在使用 (LF)作为换行分隔符的Linux上运行得很好,但在使用 (CRLF)的Windows上失败。 有没有办法改变PCRE认为的换行符?或者可能允许它以$匹配行尾/字符串的方式匹配CRLF或LF? 示例: $EOL = " "; ..
发布时间:2022-03-29 13:15:08 PHP

在PHP regex中什么时候需要u修饰符?

我知道,PHP PCRE函数将字符串视为字节序列,所以很多站点建议使用/u修饰符来处理输入和正则表达式作为UTF-8。 但是,我真的总是需要这个吗?我的测试表明,当我不使用转义序列或点或类似的东西时,这个标志没有什么不同。 例如 preg_match('/^[da-f]{40}$/', $string);检查字符串是否具有SHA1哈希格式 preg_replace('/[^ ..
发布时间:2022-03-22 15:36:15 PHP

如何进行逆“范围",即根据一组数字创建一个紧凑的范围?

Python 有一个 range 方法,它允许使用以下内容: >>>范围(1, 6)[1、2、3、4、5] 我正在寻找的是相反的:获取一个数字列表,然后返回开始和结束. >>>魔法([1, 2, 3, 4, 5])[1, 5] # 注意:5,不是 6;这与 `range()` 不同 对于上面的示例来说,这很容易做到,但是是否也可以允许间隙或多个范围,以类似 PCRE 的字符串格式返回范围? ..
发布时间:2022-01-24 20:09:39 Python

在 MariaDB 中使用 REGEXP_REPLACE 进行正则表达式查找和替换的正确语法是什么?

我需要对名为 post 的 MySQL 表中名为 message 的列运行正则表达式查找和替换. 我的数据库正在运行 MariaDB 10. 根据 docs,MariaDB 10 有一个新的 REGEXP_REPLACE 函数,旨在完全做到这一点,但我似乎无法弄清楚实际的语法. 它将影响 280,000 行,因此理想情况下还有一种方法可以将其限制为在我测试时一次仅更改一个特定行, ..
发布时间:2022-01-15 20:08:54 数据库

日志文件中的正则表达式匹配,返回匹配上方和下方的动态内容

我有一些通用的日志文件,格式如下: 时间戳事件摘要详细信息账户名:userA更多详情时间戳事件摘要巴兹细节账户名:userBqux 更多详情时间戳等 我想在日志文件中搜索 userB,如果找到,则从前面的时间戳回显到(但不包括)下面的时间戳.可能会有几个事件与我的搜索相匹配.最好在每个匹配项周围回显某种 --- start --- 和 --- end --- . 这对 pcregrep ..
发布时间:2022-01-06 13:37:35 其他开发

PHP 中的 preg_match 和 UTF-8

我正在尝试使用 preg_match. preg_match('/H/u', "\xC2\xA1Hola!", $a_matches, PREG_OFFSET_CAPTURE);回声 $a_matches[0][1]; 这应该打印 1,因为“H"在字符串“¡Hola!"的索引 1 处.但它打印 2.所以它似乎没有将主题视为 UTF8 编码的字符串,即使我正在传递 "u" 修饰符. 我的 ..
发布时间:2021-12-26 13:24:45 PHP

PHP PCRE(正则表达式)不支持 UTF-8?

我正在尝试在我的网站上运行正则表达式,但收到以下响应: 编译失败:支持\P,\p 和 \X 尚未编译偏移量 1 在谷歌上搜索了一下之后,我发现我服务器上的 PCRE 显然没有启用 UTF8,因此导致了问题.当我使用 pcretest -C ssh 时,我得到 PCRE 6.6 版 2006 年 2 月 6 日 编译支持UTF-8 否Unicode 属性支持换行字符为 LF ..
发布时间:2021-12-23 23:14:41 PHP

Python 中的 Perl 兼容正则表达式 (PCRE)

我必须在 Python 中基于 PCRE 解析一些字符串,但我不知道该怎么做. 我想解析的字符串如下: 匹配mysql m/^.\0\0\0\n(4\.[-.\w]+)\0...\0/s p/MySQL/i/$1/ 在这个例子中,我必须得到不同的项目: "m/^.\0\0\0\n(4\.[-.\w]+)\0...\0/s" ;"p/MySQL/" ;“我/$1/" 我发现与 Pyth ..
发布时间:2021-12-12 23:59:15 Python