簡體   English   中英

Python正則表達式簡單或條件不起作用?

[英]Python regular expression simple OR condition doesn't work?

我試圖用Python編寫一個簡單的正則表達式,該表達式可以識別逗號或換行符,以用作分隔符和split()文本。

我嘗試了以下方法:

delim = r'[,\n]'
delim = r'[\n,]'
delim = r',|\n'
delim = r'[,|\n]'
delim = r'(,\n)'

這些都不起作用。 如果我只使用split(),則split()可以很好地工作,例如...

delim = r','
delim = r'\n'

但是,如果我嘗試兩者都做,則不會。

我在這里想念什么?

謝謝您的意見。

整個代碼:

    data = "abc,def\nghi"
    delim = r'[,\n]'
    values = data.split(delim)
    print(values)

您正在使用str.split() ,它不使用正則表達式作為參數。

嘗試在正則表達式字符串上使用re.compile ,然后使用該對象進行拆分:

import re

data = "abc,def\nghi"
delim = re.compile(r'[,\n]')
values = delim.split(data)
print(values)

產量:

['abc', 'def', 'ghi']

這是內置的python re模塊

import re

data = "abc,def\nghi"

re.split(",|\n", data)
Out[3]: ['abc', 'def', 'ghi']

您可以輸入定界符列表,例如“,| \\ n |; | whatever | whatever2”

暫無
暫無

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

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