[英]extract strings using regex python
我在一個文件中有文本,我將它推入一個字符串。
txt = "PRIMARY INDEX its_mnth_content_aggr ( AC_ID ,ROW_ADDED_DT ,NOTE_SEQ_NR ,BIZ_UNIT_CD ,
DISPATCH_ID ,CASE_CREATE_DT )
ABDCGFWERRUU
asdffggb
PRIMARY INDEX its_mnth_content_aggr ( AC_CASE ,ROW_ADDED_DT ,NOTE_SEQ_NR ,BIZ_UNIT_CD ,\
DISPATCH_ID ,CASE_CREATE_DT )"
我想從中提取完整的主索引,如主索引 (....)
到目前為止,我有以下
x3 = re.findall(r"\bPRIMARY\sINDEX\s\w+\W.*", txt)
這給了我
['PRIMARY INDEX its_mnth_content_aggr ( AC_CASE_ID ,ROW_ADDED_DT ,NOTE_SEQ_NR ,BIZ_UNIT_CD ,DISPATCH_ID ,CASE_CREATE_DT ) ABDCGFWERRUU qwerrtyyuiu PRIMARY INDEX its_mnth_content_aggr ( AC_CASE_ID ,ROW_ADDED_DT ,NOTE_SEQ_NR ,BIZ_UNIT_CD ,DISPATCH_ID ,CASE_CREATE_DT )']
我想要這樣的東西
['PRIMARY INDEX its_mnth_content_aggr ( AC_CASE_ID ,ROW_ADDED_DT ,NOTE_SEQ_NR ,BIZ_UNIT_CD ,DISPATCH_ID ,CASE_CREATE_DT ) PRIMARY INDEX its_mnth_content_aggr ( AC_CASE_ID ,ROW_ADDED_DT ,NOTE_SEQ_NR ,BIZ_UNIT_CD ,DISPATCH_ID ,CASE_CREATE_DT )']
有人可以幫忙嗎
您的正則表達式表示您想要一個以PRIMARY INDEX
開頭的字符串,后跟任何字符。 所以它匹配你所有的字符串;
你必須更具體。
PRIMARY INDEX[A-Za-z(_,\n\\ ]*\)
PRIMARY INDEX
開頭[A-Za-z(_,\\n\\\\ ]
可能有任何字母或特殊字符,后跟*
因為我們不知道這些字符的數量。)
結尾你可以在這里試試
您可以使用
re.findall(r'\bPRIMARY\s+INDEX\s+\w+\s*\([^()]*\)', txt)
查看正則表達式演示
細節
\\b
- 詞邊界PRIMARY\\s+INDEX
- PRIMARY
, 1+ 空格, INDEX
\\s+
- 1+ 個空格\\w+
- 1+ 個字字符\\s*
- 0+ 個空格\\(
- a (
字符[^()]*
- 除(
和)
之外的 0+ 個字符\\)
- a )
字符。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.