将命令行参数转换为正则表达式

dbrg77

举例来说,我想知道模式“ \ section”是否在文本“ abcd \ sectiondefghi”中。当然,我可以这样做:

import re

motif = r"\\section"
txt = r"abcd\sectiondefghi"
pattern = re.compile(motif)
print pattern.findall(txt)

那会给我我想要的。但是,每次我想在新文本中找到新模式时,都必须更改痛苦的代码。因此,我想写一些更灵活的东西,例如(test.py):

import re
import sys

motif = sys.argv[1]
txt = sys.argv[2]
pattern = re.compile(motif)
print pattern.findall(txt)

然后,我想像这样在终端中运行它:

python test.py \\section abcd\sectiondefghi

但是,这行不通(我不喜欢使用\\\\section)。

那么,有什么方法可以将我的用户输入(从终端或从文件)转换为python原始字符串?还是有更好的方法根据用户输入进行正则表达式模式编译?

非常感谢你。

马丁·彼得斯(Martijn Pieters)

用于re.escape()确保在正则表达式中将输入文本视为文字文本:

pattern = re.compile(re.escape(motif))

演示:

>>> import re
>>> motif = r"\section"
>>> txt = r"abcd\sectiondefghi"
>>> pattern = re.compile(re.escape(motif))
>>> txt = r"abcd\sectiondefghi"
>>> print pattern.findall(txt)
['\\section']

re.escape()转义所有非字母数字;在每个这样的字符前面添加反斜杠:

>>> re.escape(motif)
'\\\\section'
>>> re.escape('\n [hello world!]')
'\\\n\\ \\[hello\\ world\\!\\]'

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将“命令行参数”样式字符串与正则表达式匹配?

来自分类Dev

ubuntu命令行中的正则表达式

来自分类Dev

命令行中的正则表达式

来自分类Dev

ubuntu命令行中的正则表达式

来自分类Dev

正则表达式从命令行替换

来自分类Dev

命令行正则表达式删除文件

来自分类Dev

正则表达式匹配命令行输出

来自分类Dev

是否可以将正则表达式传递给'rspec`命令行命令?

来自分类Dev

命令行命令将空格附加到正则表达式匹配项

来自分类Dev

正则表达式匹配命令行中用逗号分隔的多个参数

来自分类Dev

正则表达式,用于解析函数命令行参数

来自分类Dev

在Linux上的命令行中,将固定字符串(不是正则表达式)替换为整个单词的方式有哪些?

来自分类Dev

当作为python脚本的命令行参数给出时,正则表达式被剥去'\'

来自分类Dev

将Perl正则表达式转换为python正则表达式

来自分类Dev

将正则表达式BBcode模式转换为HTML正则表达式

来自分类Dev

将python搜索正则表达式转换为ruby正则表达式

来自分类Dev

将Java正则表达式转换为PHP正则表达式

来自分类Dev

将C#正则表达式转换为JavaScript正则表达式

来自分类Dev

将PCRE正则表达式转换为mysql查询正则表达式

来自分类Dev

将 Javascript 正则表达式转换为 PHP 正则表达式?

来自分类Dev

将查询参数字符串转换为正则表达式

来自分类Dev

正则表达式将<div>转换为<br>

来自分类Dev

将Ruby正则表达式转换为JavaScript

来自分类Dev

将Perl正则表达式转换为python

来自分类Dev

将NFA转换为正则表达式

来自分类Dev

将正则表达式模式转换为小写

来自分类Dev

将PCRE转换为POSIX正则表达式

来自分类Dev

将正则表达式从Java转换为.Net

来自分类Dev

将正则表达式转换为dfsa

Related 相关文章

  1. 1

    如何将“命令行参数”样式字符串与正则表达式匹配?

  2. 2

    ubuntu命令行中的正则表达式

  3. 3

    命令行中的正则表达式

  4. 4

    ubuntu命令行中的正则表达式

  5. 5

    正则表达式从命令行替换

  6. 6

    命令行正则表达式删除文件

  7. 7

    正则表达式匹配命令行输出

  8. 8

    是否可以将正则表达式传递给'rspec`命令行命令?

  9. 9

    命令行命令将空格附加到正则表达式匹配项

  10. 10

    正则表达式匹配命令行中用逗号分隔的多个参数

  11. 11

    正则表达式,用于解析函数命令行参数

  12. 12

    在Linux上的命令行中,将固定字符串(不是正则表达式)替换为整个单词的方式有哪些?

  13. 13

    当作为python脚本的命令行参数给出时,正则表达式被剥去'\'

  14. 14

    将Perl正则表达式转换为python正则表达式

  15. 15

    将正则表达式BBcode模式转换为HTML正则表达式

  16. 16

    将python搜索正则表达式转换为ruby正则表达式

  17. 17

    将Java正则表达式转换为PHP正则表达式

  18. 18

    将C#正则表达式转换为JavaScript正则表达式

  19. 19

    将PCRE正则表达式转换为mysql查询正则表达式

  20. 20

    将 Javascript 正则表达式转换为 PHP 正则表达式?

  21. 21

    将查询参数字符串转换为正则表达式

  22. 22

    正则表达式将<div>转换为<br>

  23. 23

    将Ruby正则表达式转换为JavaScript

  24. 24

    将Perl正则表达式转换为python

  25. 25

    将NFA转换为正则表达式

  26. 26

    将正则表达式模式转换为小写

  27. 27

    将PCRE转换为POSIX正则表达式

  28. 28

    将正则表达式从Java转换为.Net

  29. 29

    将正则表达式转换为dfsa

热门标签

归档