簡體   English   中英

Python正則表達式以字開頭分割

[英]Python regex to split at word starting with

我知道如何搜索一個單詞並用它來分割一個字符串。 例:

s = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua'
r = re.compile('(elit)')  
r.split(s)
# => ['Lorem ipsum dolor sit amet, consectetur adipisicing ', 'elit', ', sed do eiusmod tempor incididunt ut labore et dolore magna aliqua']

我怎么能這樣做,但只知道一個單詞的開頭? 例如,我想將字符串拆分為“consect *”並將其拆分為“consectetur”的匹配。 謝謝

使用\\w匹配任何單詞字符,如果只需要ASCII字母字符,則使用[A-Za-z]

r = re.compile('(consect\w*)')

只需使用(consect\\w*)作為正則表達式:

In [3]: import re

In [4]: s = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua'

In [5]: r = re.compile(r'(consect\w*)')  

In [6]: r.split(s)
Out[6]: 
['Lorem ipsum dolor sit amet, ',
 'consectetur',
 ' adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua']

\\w*匹配任何字母數字字符序列。 如果您的要求不同,您可以用不同的字符類替換\\w

有關Python正則表達式的更多詳細信息,請參閱正則表達式語法

使用\\w :字母數字字符加“_”[A-Za-z0-9_]

r = re.compile('(consect\w*)')

或使用\\S :非空白字符[^ \\ t \\ r \\ n \\ v \\ f]

r = re.compile('(consect\S*)')

暫無
暫無

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

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