簡體   English   中英

Python RegEx先停下來

[英]Python RegEx Stop before a Word

我要嘗試找出一些RegEx: ( of [A-Za-z ]+)?

我的Regex的以上部分將與以下內容匹配:

新墨西哥州和史密斯夫人。

我想做的是在RegEx之前and停止RegEx。

( of [A-Za-z ]+)\\sand?

上面的RegEx非常接近解決問題,但是它仍然與and匹配。

以上匹配項:

新墨西哥州和

我希望它輸出:

新墨西哥州

您可以使用脾氣暴躁的令牌

( of (?:(?!\band\b)[A-Za-z ])+)?
     ^^^^^^^^^^^^^^^^^^^^^^^^^

正則表達式演示

(?:(?!\\band\\b)[A-Za-z ])+構造匹配[A-Za-z ]字符類中定義的1+個字符,它們不是一個完整的單詞and

Python演示

import re
p = re.compile(r'( of (?:(?!\band\b)[A-Za-z ])+)?')
s = " of New Mexico and Mrs Smith."
m = p.search(s)
if m:
    print(m.group().strip())

暫無
暫無

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

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