小编San*_*mal的帖子

为什么在python中re.search(r'(ab*)','aaAaABBbb',re.I)给出结果'a'而不是'ABBbbb'虽然're.I'被使用?

在python中,re.search()检查字符串中任何位置的匹配(这是Perl默认执行的操作).

那么为什么我们在Ex(1)中得到的输出为'ABBbbb',就像我们在下面的Ex(2)Ex(3)中找到的那样.

实施例(1)

>>> s=re.search(r'(ab*)','aaAaABBbbb',re.I)
>>> print s.group()
a
Run Code Online (Sandbox Code Playgroud)

实施例(2)

>>> s=re.search(r'(ab.*)','aaAaABBbbb',re.I)
>>> print s.group()
ABBbbb
Run Code Online (Sandbox Code Playgroud)

实施例(3)

>>> s=re.search(r'(ab+)','aaAaABBbbb',re.I)
>>> print s.group()
ABBbbb
Run Code Online (Sandbox Code Playgroud)

python regex

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

在egrep中使用"[]"获得奇特的结果,但在Linux中使用"\"(转义序列)

最近我在使用正则表达式做家务时遇到了以下情况.

s@ubuntu:~$ echo b | egrep []b]
b
s@ubuntu:~$ echo b | egrep [[b]
b
s@ubuntu:~$ echo b | egrep []b[]
b
s@ubuntu:~$ echo b | egrep [b[]
b
s@ubuntu:~$ echo b | egrep [[b]]
s@ubuntu:~$ echo b | egrep [b]]
s@ubuntu:~$ echo b | egrep [b\]]
s@ubuntu:~$ echo b | egrep [b\\]]
s@ubuntu:~$ echo b | egrep [\[b\]]
Run Code Online (Sandbox Code Playgroud)

为什么我在最后5个案例中没有打印'b'?

regex grep

3
推荐指数
1
解决办法
29
查看次数

标签 统计

regex ×2

grep ×1

python ×1