相关疑难解决方法(0)

1653
推荐指数
16
解决办法
66万
查看次数

正则表达式不匹配部分序列,但匹配完整序列

我有一些像这样的转义HTML:

<img border='0' />
Run Code Online (Sandbox Code Playgroud)

我正在尝试匹配和替换完整的转义序列,'但不是部分的,比如39,因为39实际上并不是未转义的字符串.实质上,每个转义序列应该被视为一个令牌.

这是一个JS正则表达式.有没有一种方法来排除之间的匹配&,并;同时还接受包括这两个字符序列?

期望的结果:

  • 搜索<img border='0' />lt:不匹配.
  • 搜索<img border='0' />39:不匹配.
  • 搜索<img border='0' />':匹配.
  • 搜索<img border='0' />border=':匹配.

当前代码:

> var str = '<img border='0' />'
> str.replace(/(border)/gi, '|$1|')
'<img |border|='0' />'  // ok
> str.replace(/(39)/gi, '|$1|')
'<img border=&#0|39|;0&#0|39|; />'  // not ok
Run Code Online (Sandbox Code Playgroud)

注意:我不能无意中重新逃脱以匹配.它必须逃脱.

javascript regex

14
推荐指数
1
解决办法
1286
查看次数

如何在python中搜索字符串中最后一个正则表达式?

在python中,我可以轻松地在字符串中搜索第一次出现的正则表达式,如下所示:

import re
re.search("pattern", "target_text")
Run Code Online (Sandbox Code Playgroud)

现在我需要在字符串中找到最后一次出现的正则表达式,这似乎不受re模块支持.

我可以将字符串反转为"搜索第一次出现",但我还需要反转正则表达式,这是一个更难的问题.

我也可以迭代从左到右查找所有事件,并保留最后一个,但这看起来很尴尬.

有没有一种聪明的方法来找到最合适的事件?

python regex string

8
推荐指数
2
解决办法
1万
查看次数

如何在Python中使用正则表达式非捕获组格式

在下面的代码中,我只想获取“-”和“ u”之间的数字。我以为我可以应用正则表达式非捕获组格式(?:…)来忽略从'-'到第一位的所有内容。但是输出总是包含它。如何使用非捕获组格式生成正确的输出?

df = pd.DataFrame(
    {'a' : [1,2,3,4], 
     'b' : ['41u -428u', '31u - 68u', '11u - 58u', '21u - 318u']
    })

df['b'].str.extract('((?:-[ ]*)[0-9]*)', expand=True)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明 在此处输入图片说明

python regex pandas

5
推荐指数
1
解决办法
422
查看次数

python group(0)的意思

re.search中的group(0)的确切定义是什么?

有时搜索会变得复杂,我想知道定义中的group(0)值是多少?

仅举例说明混淆的来源,请考虑这种匹配。打印结果仅为def。因此,在这种情况下,group(0)不会返回整个匹配项。

 m = re.search('(?<=abc)def', 'abcdef')
>>> m.group(0)
def
Run Code Online (Sandbox Code Playgroud)

python regex

-1
推荐指数
2
解决办法
8328
查看次数