(抱歉标题不好,任何建议表示赞赏);-)
好吧,考虑一下这些字符串:
first = "SC/SCO_160ZA206_T_mlaz_kdiz_nziizjeij.ext"
second = "MLA/SA2_jkj15PO_B_lkazkl lakzlk-akzl.oxt"
third = "A12A/AZD_KZALKZL_F_LKAZ_AZ__azaz___.ixt"
我正在寻找一个正则表达式来获取这样的数组(在 ruby 中):
first_array = ['SCO', '160ZA206', 'T', 'mlaz_kdiz_nziizjeij']
second_array = ['SA2', 'jkj15PO', 'B', 'lkazkl lakzlk-akzl']
third_array = ['AZD', 'KZALKZL', 'F', 'LKAZ_AZ__azaz___']
第一个匹配项必须是 /
之后和第一个 _
第二个匹配项必须是第一个和第二个之间的任何值 _
第三个匹配项必须是第二个和第三个之间的任何值 _
最后一个匹配项必须是第三个 _
和最后一个 之间的任何内容。
我无法获取:[^\/].?([A-Z]*)_(.*)_(.*)[\.$]
:-(
最佳答案
你非常接近。只需向第二个匹配器添加一个问号使其成为惰性(否则,它不会在第一个下划线处停止),然后复制该匹配器。
[^\/].?([A-Z]*)_(.*?)_(.*?)_(.*)[\.$]
关于ruby - 给定格式化文件名的正则表达式匹配某些条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8749266/