Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将标志作为参数传入以重新编译_Python_Regex - Fatal编程技术网

Python 将标志作为参数传入以重新编译

Python 将标志作为参数传入以重新编译,python,regex,Python,Regex,我希望基于类似于下面的逻辑将某些标志传递到re.compile函数中。我想知道是否有可能这样做 flags = "" if multiline: flags = 're.M' if dotall: flags = flags + '|re.S' if verbose: flags = flags + '|re.X' if ignorecase: flags = flags + '|re.I' if uni_code: fl

我希望基于类似于下面的逻辑将某些标志传递到re.compile函数中。我想知道是否有可能这样做

  flags = ""

  if multiline:
    flags = 're.M'

  if dotall:
    flags = flags + '|re.S'

  if verbose:
    flags = flags + '|re.X'

  if ignorecase:
    flags = flags + '|re.I'

  if uni_code:
    flags = flags + '|re.U'

  regex = re.compile(r'Test Pattern', flags)

re
标志只是数字。所以,我们需要二进制或二进制,就像这样

flags = 0

if multiline:
  flags = re.M

if dotall:
  flags |= re.S

if verbose:
  flags |= re.X

if ignorecase:
  flags |= re.I

if uni_code:
  flags |= re.U

regex = re.compile(r'Test Pattern', flags)