Home
Sign Up
Sign In
推荐学习书目
›
Learn Python the Hard Way
Python Sites
›
PyPI
- Python Package Index
›
http://diveintopython.org/toc/index.html
›
Pocoo
值得关注的项目
›
PyPy
›
Celery
›
Jinja2
›
Read the Docs
›
gevent
›
pyenv
›
virtualenv
›
Stackless Python
›
Beautiful Soup
›
结巴中文分词
›
Green Unicorn
›
Sentry
›
Shovel
›
Pyflakes
›
pytest
Python 编程
›
pep8 Checker
Styles
›
PEP 8
›
Google Python Style Guide
›
Code Style from The Hitchhiker's Guide
V2EX
›
Python
Python 的 re 可否表示类似 a^nba^n 这样的字符串?
persistz
·
Jun 4, 2019
via Android · 3328 views
This topic created in 2712 days ago, the information mentioned may be changed or developed.
该公式指的是,在 b 的前后有相同个数的 n。 n 不是具体值,所以关键点在于相同个数而非指定个数。 已知 Perl 是可以的,好奇 python 的 re 库可否实现?
个数
Python
可否
perl
11 replies
persistz
OP
Jun 4, 2019 via Android
1
更正一下,有个 typo...相同个数的 a。
xml123
Jun 4, 2019
2
(a+)b\1 不就行了吗,不过前后需要指定边界
junkun
Jun 4, 2019
3
按照计算理论来说,正则语法是 3 型语法,而 a^nba^n 是典型的 2 型语法。而且 2 型语法是 3 型语法的超集。所以理论上来说是匹配不了的。
persistz
OP
Jun 4, 2019 via Android
4
@
xml123
这里\1 指的是第一个括号对吧?我试一下,因为之前找到 re 里对这种写法的定义…
persistz
OP
Jun 4, 2019 via Android
5
@
junkun
嗯,这是没错的,但编程语言里的 re 不是真正的正则语言,所以概念上不能直接和 CFL 比较
junkun
Jun 4, 2019
6
但是 Python 的 re 是可以的。用\1 表示第一个捕获组。
persistz
OP
Jun 4, 2019 via Android
7
@
junkun
感谢感谢!结帖!
persistz
OP
Jun 4, 2019 via Android
8
@
xml123
感谢感谢!
lance6716
Jun 5, 2019 via Android
9
@
junkun
哇,这怎么实现
Death
Jun 5, 2019 via Android
10
@
persistz
@
junkun
所以 regex 这个名字还是挺有误导性的 hhh
印象中 regex 是能够匹配到 CSL 的,但是等价不等价就不知道了……
persistz
OP
Jun 5, 2019
11
@
Death
regex 是属于 CSL 的,因为即使有 back-reference,也可以拿 LBA 表示,正好看到了一篇论文讲这个
About
·
Help
·
Advertise
·
Blog
·
API
·
FAQ
·
Privacy
·
Solana
·
1942 Online
Highest 6679
·
Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 30ms ·
UTC 08:05
·
PVG 16:05
·
LAX 00:05
·
JFK 03:05
♥ Do have faith in what you're doing.
❯