Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 正则表达式按特定值拆分字符串_Regex_Split_Expression - Fatal编程技术网

Regex 正则表达式按特定值拆分字符串

Regex 正则表达式按特定值拆分字符串,regex,split,expression,Regex,Split,Expression,尝试使用正则表达式按特定字符和值拆分字符串 例如,我有以下字符串: abc.def.ghi:wxyz_1234 我想同时得到“wxyz”和“1234” i、 e.介于“:”和“_”之间的字符串以及“_”之后的字符串 干杯 方法1 也许 ([^\s:_]+)_(\S+) 可能行 方法2 使用lookbehind,要为预下划线字符串创建左边界,请执行以下操作: (?<=:)([^_]+)_(.+) 输出 如果您希望简化/修改/探索表达式,将在的右上面板中进行解释。如果您愿意,还可以在

尝试使用正则表达式按特定字符和值拆分字符串

例如,我有以下字符串:

abc.def.ghi:wxyz_1234
我想同时得到“wxyz”和“1234

i、 e.介于“:”和“_”之间的字符串以及“_”之后的字符串

干杯

方法1 也许

([^\s:_]+)_(\S+)
可能行


方法2 使用lookbehind,要为预下划线字符串创建左边界,请执行以下操作:

(?<=:)([^_]+)_(.+)
输出
如果您希望简化/修改/探索表达式,将在的右上面板中进行解释。如果您愿意,还可以在中查看它与一些示例输入的匹配情况


正则表达式电路 可视化正则表达式:


我成功地创建了以下内容
案例A-
(?你能解释一下这里发生了什么吗?例如,这是什么语言(问题没有具体说明),也可能是文档的链接,等等。喜欢你一次就完成了…@SamMason这里有更多的细节-@Shneor抱歉我不理解你的评论…实际的正则表达式是可以接受的,其他的都是可以接受的,例如,对正在发生的事情没有任何解释,并且你的问题没有提到要用任何特定的语言来做这件事(这是为什么用C#?)@SamMason我不想要任何特定的语言。只是需要关于正则表达式的建议。在有了正确的正则表达式之后,我在哪里以及如何使用它其实并不重要。@Shneor是的,这是我的观点!Darpan本可以发布
:(.*)(.*)
,它也同样有用
import re

string = '''
abc.def.ghi:wxyz_1234
abc.def.ghi:abcd_78910
abc.def.ghi: foo_baz123
'''

expression = r'([^\s:_]+)_(\S+)'

for i in re.findall(expression, string):
    print(i[0])
    print(i[1])
wxyz
1234
abcd
78910
foo
baz123
string str = "abc.def.ghi:wxyz_1234";    
Regex rx = new Regex(":(.*)_(.*)");    
Match match = rx.Match(str);    
string first =match.Groups[1].Value;    
string second= match.Groups[2].Value;