Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.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
Regex 在字符前搜索一个单词,在字符后搜索一个单词_Regex - Fatal编程技术网

Regex 在字符前搜索一个单词,在字符后搜索一个单词

Regex 在字符前搜索一个单词,在字符后搜索一个单词,regex,Regex,我想从一个字符串中得到两个单词,一个在“_u”之前,另一个在后面。 例如: '?o=-1' # Skip it '?client__name=Client1&o=-1' # Should return client__name '?o=-1&product__name=Product1+Test1' # Should return product__name 离我最近的是: after: (?:__).*[a-z] before: (\S+?)__ 我试图在python中使

我想从一个字符串中得到两个单词,一个在“_u”之前,另一个在后面。 例如:

'?o=-1' # Skip it
'?client__name=Client1&o=-1' # Should return client__name
'?o=-1&product__name=Product1+Test1' # Should return product__name
离我最近的是:

after:  (?:__).*[a-z]
before: (\S+?)__
我试图在python中使用它

您可以使用

[^\W_]+__[^\W_]+
见和:

详细信息

  • [^\W\u]+
    -1个或多个字母或数字
  • \uuuu
    -a
    \uuuu
    子字符串
  • [^\W\u]+
    -1个或多个字母或数字

您可以使用捕获组:

[&?]([^\W_]+__[^\W_]+)=
这将符合:

  • [&?]
    匹配&或
  • 捕获组
    • [^\W\uU]+\ uU[^\ W\uU]+
      匹配除下划线以外的单词字符的1+倍,然后再匹配除下划线以外的单词字符的1+倍
  • 关闭捕获组
  • =
    逐字匹配

这取决于你认为的“非字符串”,或者说是“字符串分隔符”。