RegEx:如果未找到特定模式,则匹配第一行或唯一行的模式

时间:2015-03-16 10:26:34

标签: .net regex

我已经写了一个RegEx模式来匹配第一次出现点(。)或逗号(,)之前的所有内容。

RegEx.Match(input, @"(.*?)(?=,|\.)").Value;

但是如果输入中没有出现点或逗号,那么我希望RegEx返回整个字符串。

示例:

输入:“冻结,警察。”

输出:“冻结”

输入:“目标。火”

输出:“目标”

输入:“Roger that”

输出(预期):“Roger that”

有人可以建议我如何更改我的RegEx模式?

1 个答案:

答案 0 :(得分:1)

在正则表达式中添加输入标记

((.|\r|\n)*?)(?=,|\.|$)

在正则表达式"。"不包括"新行"或者"回车" 并且在行结束时使用$

当然,如果您不想以多行处理数据,那么就使用它。

(.*?)(?=,|\.|$)