修改器支持的正则表达式如何使用



修改器及其功能

1. PCRE_CASELESS:不区分大小写匹配,对应Perl的/i。

2. PCRE_MULTILINE:多行匹配,对应Perl的/m。

3. PCRE_DOTALL:点号匹配新行,对应Perl的/s。

4. PCRE_DOLLAR_ENDONLY:$仅在结尾匹配,无对应Perl修改器。

5. PCRE_EXTRA:严格解析转义字符,无对应Perl修改器。

6. PCRE_EXTENDED:忽略空白字符,对应Perl的/x。

7. PCRE_UTF8:处理UTF8字符,内置支持。

8. PCRE_UNGREEDY:反转和?,无对应Perl修改器。

9. PCRE_NO_AUTO_CAPTURE:禁用捕获括号,无对应Perl修改器。

使用方法

对于每个修改器,提供了两个成员函数,其名称由修改器的小写形式组成,不带"PCRE_"前缀。例如,PCRE_CASELESS由`caseless`和`set_caseless(bool)`处理。

`PCRE_EXTRA_MATCH_LIMIT`可以通过`set_match_limit`和`match_limit`成员函数访问。设置`match_limit`为非零值可以限制pcre的执行,防止其导致堆栈溢出或长时间返回结果。例如,将`match_limit`设置为5000可以防止2MB线程堆栈的堆栈溢出。将`match_limit`设置为零可以禁用匹配限制。或者,可以调用`match_limit_recursion`,它使用`PCRE_EXTRA_MATCH_LIMIT_RECURSION`来限制PCRE的递归深度。`match_limit`限制了PCRE执行的匹配数量;`match_limit_recursion`限制了内部递归的深度,从而限制了使用的堆栈量。

示例

EmEditor中的正则表达式使用

在EmEditor中使用正则表达式时,需要在查找和替换窗口中勾选“使用正则表达式”选项。以下是一些具体的示例:

1. 查找<>之间的字符串

查找:`<.?>`

替换为:(根据需要替换的内容)

2. 查找双引号之间的字符串

查找:`".?"`

替换为:(根据需要替换的内容)

3. 包含特定字符的字符串

查找:`$$[^$$]?$$

替换为:(根据需要替换的内容)

4. 变量名

查找:`[a-zA-Z_][a-zA-Z_0-9]`

替换为:(根据需要替换的内容)

5. IP地址

查找:`([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3})`

替换为:(根据需要替换的内容)

6. 各行Tab以后的文字列

查找:`

$`

替换为:(根据需要替换的内容)

7. 删除行头

查找:`^(//)`

替换为:(留空以删除)

8. 删除行后的空白文字

查找:`s+?$`

替换为:(留空以删除)

9. 替换特定模式

查找:`(abc)`

替换为:`[abc]`

10. 将字母a-z替换为大写字母

查找:`U0`

替换为:(留空以转换)

11. 首字母大写

查找:`U1L2`

替换为:(留空以转换)

EditPlus中的正则表达式使用

在EditPlus中使用正则表达式时,需要在替换对话框中勾选“正则表达式”复选框。以下是一些具体的示例:

1. 删除空行

查找:`^[

]

替换为:(留空以删除)

2. 替换指定内容到行尾

查找:`abc.`

替换为:`abc efg`

修改器支持的正则表达式如何使用

3. 数字替换

查找:`[0-9][0-9][0-9]`

替换为:`[012]`

4. 删除每一行行尾的指定字符

查找:`345content`

替换为:`content`

5. 替换带有半角括号的多行代码

查找:`^

替换为:(根据需要替换的内容)

表格总结

| 修改器 | 功能描述 | 对应Perl修改器 |

|-----------------------|-----------------------------------------------|----------------|

| PCRE_CASELESS | 不区分大小写匹配 | /i |

| PCRE_MULTILINE | 多行匹配 | /m |

| PCRE_DOTALL | 点号匹配新行 | /s |

| PCRE_DOLLAR_ENDONLY | $仅在结尾匹配 | 无 |

| PCRE_EXTRA | 严格解析转义字符 | 无 |

| PCRE_EXTENDED | 忽略空白字符 | /x |

| PCRE_UTF8 | 处理UTF8字符 | 内置支持 |

| PCRE_UNGREEDY | 反转和?| 无 |

| PCRE_NO_AUTO_CAPTURE | 禁用捕获括号 | 无 |

通过以上信息,您可以更好地理解和使用支持的正则表达式修改器。




上一篇:修改器如何提升游戏的可玩性
下一篇:修改器的未来发展趋势是什么
智能下载器支持哪些文件格式
如何配置路由器的IPv6支持
固件升级是否支持远程操作
有哪些平台支持话费充Q币
如何选择支持人脸识别的网络摄像头
合肥工业大学的创新创业支持政策有哪些
Word中是否支持自动备份到外部驱动器
微信公众号支付是否支持国际交易
蓝牙音箱支持什么样的高音质音频格式
游戏修改器是否会影响游戏安全
防火墙对不同VPN协议的支持程度
诺基亚5000怎么样_诺基亚5000支持内存卡吗
临时救济措施的资金支持是否有使用限制
维权骑士的法律支持有哪些
OPPO手机支持设置哪些默认存储选项
如何收集证据支持我的购物维权
胎儿脐带绕颈的家属心理支持建议是什么
胎盘激素如何支持妊娠
如何通过数据支持绿化率的媒体曝光