Regex 是否删除文本中的引用号,但不删除没有引用组的十进制数?(正则表达式)
我已经编写了一个小型python程序来对正则表达式进行修改,并将我的pdf教科书转换成音频文件,以便在开车时收听。我突然想到,我可以使用内置TTS和正则表达式替换的pdf阅读程序Librera Reader来更灵活地完成这项任务,同时能够轻松阅读。但是,Librera阅读器不能在替换文本中使用组引用 这是我一直使用的替代品:Regex 是否删除文本中的引用号,但不删除没有引用组的十进制数?(正则表达式),regex,regex-group,regexp-replace,Regex,Regex Group,Regexp Replace,我已经编写了一个小型python程序来对正则表达式进行修改,并将我的pdf教科书转换成音频文件,以便在开车时收听。我突然想到,我可以使用内置TTS和正则表达式替换的pdf阅读程序Librera Reader来更灵活地完成这项任务,同时能够轻松阅读。但是,Librera阅读器不能在替换文本中使用组引用 这是我一直使用的替代品: ([a-zA-Z|\)|%][\.|\,|a-z|\)])\d+(?:[-,]\d+)* 以下是一个简化版本,它完成了本问题的大部分工作: ([a-zA-Z][\.])\
([a-zA-Z|\)|%][\.|\,|a-z|\)])\d+(?:[-,]\d+)*
以下是一个简化版本,它完成了本问题的大部分工作:
([a-zA-Z][\.])\d+
替换为:
\1
有没有一种方法可以使用正则表达式来捕获一个字母,后跟一个句点,后跟一个类似这样的数字,而无需在替换中使用组引用,也无需捕获数字句点数字字符串。这样我就可以进行以下转换:
测试单词。7还有1.5是一个可以测试的数字
测试单词。1.5也是一个可以测试的数字
我知道您在
[…]
中使用了|
来“更好地”在视觉上分离字符类的各个部分,但是您也使|
成为了现在匹配文字管道的类的一部分。你需要移除这些管道
为了解决当前的问题,您可以将捕获组转换为正向查找,因为模式的长度已知(在要删除的数字(范围)之前只有两个字符)
你可以用
(?<=[a-zA-Z)%][.,a-z)])\d+(?:[-,]\d+)*
如果我正确理解了您的需求,那么:
re.sub(r')(?