我有以下字符串:如何使用正則表達式分割我的字符串?
abcdefgh1234.1.1.t1111-1.16.2222.1-1.t67_76.txt
我怎樣才能將它分成使用正則表達式以下幾部分?
abcdefgh
1234.1.1
t1111
1.16.2222.1-1
t67_76.txt
我有以下字符串:如何使用正則表達式分割我的字符串?
abcdefgh1234.1.1.t1111-1.16.2222.1-1.t67_76.txt
我怎樣才能將它分成使用正則表達式以下幾部分?
abcdefgh
1234.1.1
t1111
1.16.2222.1-1
t67_76.txt
在您輸入的字符串,這個工程:
^([a-z]+)(\d+(?:\.\d+){2})\.([a-z]\d+)\-(\d+(?:\.\d+){3}\-\d)\.([a-z][\d_]+.\w+)$
你想每一個元素都是在其自己的捕獲組。
已更新爲僅與捕獲組1中的小寫字母匹配,並且任何小寫字母都與單個't'匹配。只要將它們改回「t」,如果它從來沒有其他的東西。 – aliteralmind
您還沒有指定如何分割,所以這裏有一個猜測:
my @fields = /^(\D+)([\d.]+)\.([^-]+)\-([\d.\-]+)\.(.*)\z/ or die;
如果這是你要拆分的唯一字符串,或者如果每串那樣格式化(分裂似乎很隨意對我來說),這樣做:
([a-z]+)([\d\.]+)\.(\w+)-([\d\.-]+).([\w+\.]+)
提取匹配組,然後就完成了。
$1
是第一部分,$2
是第二部分,依此類推。
嘗試http://txt2re.com/ – Leo
什麼決定在哪裏拆分? – ikegami
我們是否可以不在第一時間僅基於字母來分割它,例如。 [A-Z] [a-z]然後第一次出現數字[0-9]等等? – Sankasu