是否有特殊情况下本机文本操作比正则表达式更令人满意?

Stu*_*ser 2 regex string

是否有特殊情况下本机文本操作比正则表达式更令人满意?特别是.net?

注意:正则 表达式似乎是一个高度情绪化的主题,所以我对提出这样一个问题很谨慎.这个问题不是关于正则表达式的个人/专业意见,只是在包含其使用的解决方案不如语言本机命令(包括使用正则表达式的底层代码的那些)及其原因的特定情况下.

另外,请注意,Desirable可能意味着性能,可能意味着代码可读性; 它并不意味着灵丹妙药,因为问题的每个解决方案都有其优点和局限性.

如果这是重复的道歉,我搜索了SO以寻找类似的问题.

Ray*_*gus 6

我更喜欢对正则表达式进行文本操作来解析分隔的字符串输入.发出字符串拆分比管理正则表达式要简单得多(至少对我来说).

鉴于一些文字:

value1, value2, value3
Run Code Online (Sandbox Code Playgroud)

您可以轻松解析该行:

var values = myString.Split(',');
Run Code Online (Sandbox Code Playgroud)

我确信有更好的方法,但使用正则表达式,你必须做的事情如下:

var match = Regex.Match(myString, "^([^,]*),([^,]*),([^,]*)$");
var value1 = match.Group[1];
...
Run Code Online (Sandbox Code Playgroud)