![](/img/trans.png)
[英]Python- Regular expression to match“ <textarea> </textarea> ” and anything between them
[英]python regular expression to match anything not containing some word, in between 2 characters
在Fortran中,數據語句以單詞“ data”開頭,后跟數組的名稱,然后是數組的值,該值夾在兩個正斜杠“ /”之間。
pattern_data = r'''
( data [^/]+ / [^/]+ / )
'''
c = "data plevel = /4.56, 234., 1e-45/ data tlayer / -5.6, +290.098/"
在上面, c
就像一個示例Fortran代碼,其中包含2個我要提取的數據語句。 pattern_data
是正則表達式,它匹配以“ data”開頭,后跟“ /”以外的任何字符,后跟“ /”,后跟“ /”以外的任何其他字符和后跟“ /”的任何子字符串。
這似乎起作用,給出:
regex = re.compile(pattern_data, re.VERBOSE)
regex.findall(c)
['data plevel = /4.56, 234., 1e-45/', 'data tlayer / -5.6, +290.098/']
但是,如果我想說的話:“ data”,后跟除“ /”之外的其他任何內容,后跟“ /”,然后除“ data”以外的其他任何內容,后跟“ /”。 我認為這也將與數據語句匹配,但是“除“數據”以外的任何東西”的正則表達式是什么?
我曾嘗試使用像這樣的否定性后向:
data [^/]+ / (?<! data).* /
但這匹配整個字符串c
。
您的嘗試將禁止將data
放在第一個斜杠之前,而這不是您想要的。 這將測試data
是否在斜線之間:
( data [^/]+ / (?! [^/]* data ) [^/]+ / )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.