加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 正则表达式:如何匹配使用以前的匹配?

发布时间:2020-12-20 12:23:14 所属栏目:Python 来源:网络整理
导读:我正在搜索表单的字符串模式: XXXAXXX # exactly 3 Xs,followed by a non-X,followed by 3Xs 所有X必须是相同的字符,A不能是X. 注意:我没有明确搜索X和As – 我只需要找到这种字符模式. 是否可以使用正则表达式构建它?如果重要的话,我将用Python实现搜索.
我正在搜索表单的字符串模式:

XXXAXXX 
# exactly 3 Xs,followed by a non-X,followed by 3Xs

所有X必须是相同的字符,A不能是X.

注意:我没有明确搜索X和As – 我只需要找到这种字符模式.

是否可以使用正则表达式构建它?如果重要的话,我将用Python实现搜索.

提前致谢!
-CS

更新:

@ rohit-jain在Python中的回答

x = re.search(r"(w)1{2}(?:(?!1)w)1{3}",data_str)

@jerry在Python中的回答

x = re.search(r"(.)1{2}(?!1).1{3}",data_str)

解决方法

你可以试试这个:

(w)1{2}(?!1)w1{3}

分手:

(w)        # Match a word character and capture in group 1
1{2}       # Match group 1 twice,to make the same character thrice - `XXX`
(?!1)      # Make sure the character in group 1 is not ahead. (X is not ahead)
w          # Then match a word character. This is `A` 
1{3}       # Match the group 1 thrice - XXX

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读