Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.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 - Fatal编程技术网

Regex 分隔符上的正则表达式拆分字符串

Regex 分隔符上的正则表达式拆分字符串,regex,Regex,我的数据以下划线分隔,例如: A_B_C_D_E 正则表达式1我需要匹配:A\u C\u D\u E 正则表达式2我需要匹配:A_B_D_E 正则表达式3我需要匹配:A_B_C__E 这方面的一些背景知识。我将用empty.string替换正则表达式匹配项,从而留下每列的值。例如,当匹配项被empty.string替换时,regex1将留给我值B。重要提示:ABCDE是所有动态数据…它们不是字面上的ABCDE。下划线分隔符是文本。此下划线分隔的“列”数是恒定的。对于案例1: 搜索使用: ^([^

我的数据以下划线分隔,例如:

A_B_C_D_E

正则表达式1我需要匹配:A\u C\u D\u E

正则表达式2我需要匹配:A_B_D_E

正则表达式3我需要匹配:A_B_C__E


这方面的一些背景知识。我将用empty.string替换正则表达式匹配项,从而留下每列的值。例如,当匹配项被empty.string替换时,regex1将留给我值B。重要提示:ABCDE是所有动态数据…它们不是字面上的ABCDE。下划线分隔符是文本。此下划线分隔的“列”数是恒定的。

对于案例1:

搜索使用:

^([^_]*_)[^_]*
^((?:[^_]*_){2})[^_]*
^((?:[^_]*_){3})[^_]*
并替换为:

$1
$1
$1


对于案例2:

搜索使用:

^([^_]*_)[^_]*
^((?:[^_]*_){2})[^_]*
^((?:[^_]*_){3})[^_]*
并替换为:

$1
$1
$1


对于案例3:

搜索使用:

^([^_]*_)[^_]*
^((?:[^_]*_){2})[^_]*
^((?:[^_]*_){3})[^_]*
并替换为:

$1
$1
$1

您能澄清一下使用正则表达式选择的含义吗?为什么不用下划线分割数据?这里似乎不需要正则表达式。什么编程语言?一般来说,一个正则表达式不能匹配某个事物的左半部和右半部。@PedrovonHertwig我需要多个正则表达式。每个正则表达式将排除一个“列”。在上面的示例中,正则表达式1将匹配除B之外的所有内容。正则表达式2将匹配除C之外的所有内容。正则表达式3将匹配除D之外的所有内容。请记住,BCD不是随机数据,而是动态数据。@NetMage我使用的是一个在线工具,它将正则表达式排除在外,作为匹配您要删除的数据的一种方法。它通过将正则表达式匹配项替换为string.empty来删除数据。为了回答你的问题,我不知道他们在后端使用的是什么编程语言。