簡體   English   中英

在 Python 中使用正則表達式查找子字符串?

[英]Using Regex In Python To Find Substring?

我有一個字符串:

line_to_test = "http://website/[SequenceOfLetters&NumbersONLY].html"

我想要一個正則表達式來匹配上述模式:

我目前嘗試過的是:

c = len(re.findall(r"http:\/\/website\/([a-zA-Z0-9]?).html",line_to_test))

但是即使line_to_test包含模式,這里的c也會為空。

? 意味着它之前的任何內容都是可選的,在這種情況下是[a-zA-Z0-9] 這意味着您可以有0次或1次的字母或數字。

您應該使用* , 選擇它0次或更多次,或使用+ , 選擇它1次或更多。

試試這個正則表達式:

c = len(re.findall(r"http:\/\/website\/([a-zA-Z0-9]+).html",line_to_test))

如果您使用* ,它將與([a-zA-Z0-9]+)? ,這意味着http://website/.html可以工作。

RegExr 上的現場演示

? 只會匹配 0 或 1 個字符。 嘗試

c = len(re.findall(r"http:\/\/website\/([a-zA-Z0-9]+).html",line_to_test))

您可以使用像 regexr 這樣的在線服務來測試您的正則表達式: http ://regexr.com/3d301

暫無
暫無

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

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