簡體   English   中英

Python正則表達式捕獲重用

[英]Python regular expression capture re-use

我正在嘗試創建一個Python正則表達式,它將匹配一個字符串,當且僅當該字符串以相同的小寫字母開頭和結尾時。 以下似乎應該工作,但匹配每個字符串:

(?P<st>[az]).*(?P=st)$

任何建議將不勝感激。

^([a-z]).*\1$

這將需要back referenceback reference演示。

https://regex101.com/r/iV6mP5/5#python

import re
p = re.compile(r'^([a-z]).*\1$', re.MULTILINE)
test_str = "a sdf sd fdsf sd a\nsdfdsf ASDSDSAD@#$@#ASDASDs\nsadasd Wdsda"

re.findall(p, test_str)

我意識到你要求一個正則表達式,但是再一次,很多人都會問,因為他們認為這是做這些事情的唯一方法。

>>> for s in ('test', 'foo', 'Test', ''):
    if s and s[0].islower() and s[0] == s[-1]:
        print('good:', s)

good: test

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM