有没有一种方法可以形成此正则表达式,以使可选组不会出现在匹配组中?

锡吉尔

我有此代码用于正则表达式匹配:

Match regexMatch(string inputStr)
{
 string numberAlphaCaptureRegex = @"^([0-9]+([.][0-9]+)?)\W*([A-Z]*)$";
 return Regex.Match(inputStr,numberAlphaCaptureRegex);
}

我打算用来匹配像这样的字符串:

3 ##+ AST
2.54 --&! V
99.22

我使用以下代码进行匹配:

match = Regex.Match(valveName, numberAlphaCaptureRegex);

在第一个例子,我想这场比赛有团体3AST在第二2.54V,并在第三99.22第一个可以正常使用,但是第二个也可以包含组.54,而第三个也可以包含.22我认为这是因为表达式具有可选的group ([.][0-9]+)?,我已经添加了group ,以便我可以同时选择整数和小数。有没有办法重写正则表达式,以便我只得到完整的数字?

乔什·克罗齐耶(Josh Crozier)

将第二个捕获组更改为非捕获组

string numberAlphaCaptureRegex = @"^([0-9]+(?:[.][0-9]+)?)\W*([A-Z]*)$";

附带说明,第二个捕获组([A-Z]*)有时会匹配零个字符(因为*意味着零个或多个)。为防止这种情况,您可以更改*+(一个或多个),然后将捕获组设为可选([A-Z]+)?

现场例子

string numberAlphaCaptureRegex = @"^([0-9]+(?:\.[0-9]+)?)\W*([A-Z]+)?$";

根据您提供的输入进行匹配:

MATCH 1
1.  [0-1]   `3`
2.  [6-9]   `AST`
MATCH 2
1.  [10-14] `2.54`
2.  [20-21] `V`
MATCH 3
1.  [22-27] `99.22`

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有没有一种方法可以在JavaScript需要表达式的地方包含“ var”列表?

来自分类Dev

有没有一种方法可以从单个列表理解表达式输出多个列表?

来自分类Dev

有没有一种方法可以让iOS的自动更正忽略UITextView中的单个单词或正则表达式?

来自分类Dev

有没有一种方法可以在不使用组的情况下引用re.sub中的整个匹配表达式?

来自分类Dev

有没有一种方法来获取名称与给定正则表达式匹配的所有函数的列表?

来自分类Dev

有没有一种方法可以在表达式树中设置“ DeclaringType”?

来自分类Dev

Python中有没有一种方法可以创建在正则表达式中匹配的组件的元组?

来自分类Dev

有没有一种方法可以只替换Java匹配器正则表达式中的一个捕获组?

来自分类Dev

有没有一种方法可以根据以前的捕获组(而不是以前捕获的)来匹配正则表达式?

来自分类Dev

有没有一种方法可以使用Sass缩短此CSS?

来自分类Dev

有没有一种方法可以使用C#8开关表达式来返回字符串值?

来自分类Dev

带有可选组的Python正则表达式,至少匹配一个

来自分类Dev

有没有一种方法可以使用Scala编译器对布尔表达式进行类型检查?

来自分类Dev

有没有一种方法可以简化正则表达式匹配字符?

来自分类Dev

正则表达式中有没有一种方法可以检查某个单词是否在定义的两个位置之一中出现在字符串中?

来自分类Dev

正则表达式-匹配直到可能出现或可能不会出现的组

来自分类Dev

有没有一种方法可以使用R Plumber在API中添加可选参数?

来自分类Dev

有没有一种方法可以导入不存在的模块而不会出现错误?

来自分类Dev

有没有一种方法可以按组计算比例?

来自分类Dev

有没有一种方法可以使此Regex表达式不那么贪婪。使用Excel VBA

来自分类Dev

有没有一种方法可以输出表达式而无需评估jupyter notebook

来自分类Dev

有没有一种方法可以对USB闪存驱动器进行分区,以使两个/所有分区都出现在Windows中?

来自分类Dev

有没有一种方法可以从单个列表理解表达式输出多个列表?

来自分类Dev

有没有一种方法可以使用lambda表达式在NameValueCollection中查找非空值

来自分类Dev

有没有一种方法可以在Python 2中使用带有正则表达式的memoryview?

来自分类Dev

有没有一种方法可以读入文件,使用正则表达式替换并输出文件,而不会弄乱行尾和无效字符?

来自分类Dev

有没有一种方法可以根据以前的捕获组(而不是以前捕获的)来匹配正则表达式?

来自分类Dev

有没有一种有效的方法可以在 php 中的更大的正则表达式替换中运行子正则表达式替换语句

来自分类Dev

有没有一种简单的方法可以使用正则表达式反转子字符串?

Related 相关文章

  1. 1

    有没有一种方法可以在JavaScript需要表达式的地方包含“ var”列表?

  2. 2

    有没有一种方法可以从单个列表理解表达式输出多个列表?

  3. 3

    有没有一种方法可以让iOS的自动更正忽略UITextView中的单个单词或正则表达式?

  4. 4

    有没有一种方法可以在不使用组的情况下引用re.sub中的整个匹配表达式?

  5. 5

    有没有一种方法来获取名称与给定正则表达式匹配的所有函数的列表?

  6. 6

    有没有一种方法可以在表达式树中设置“ DeclaringType”?

  7. 7

    Python中有没有一种方法可以创建在正则表达式中匹配的组件的元组?

  8. 8

    有没有一种方法可以只替换Java匹配器正则表达式中的一个捕获组?

  9. 9

    有没有一种方法可以根据以前的捕获组(而不是以前捕获的)来匹配正则表达式?

  10. 10

    有没有一种方法可以使用Sass缩短此CSS?

  11. 11

    有没有一种方法可以使用C#8开关表达式来返回字符串值?

  12. 12

    带有可选组的Python正则表达式,至少匹配一个

  13. 13

    有没有一种方法可以使用Scala编译器对布尔表达式进行类型检查?

  14. 14

    有没有一种方法可以简化正则表达式匹配字符?

  15. 15

    正则表达式中有没有一种方法可以检查某个单词是否在定义的两个位置之一中出现在字符串中?

  16. 16

    正则表达式-匹配直到可能出现或可能不会出现的组

  17. 17

    有没有一种方法可以使用R Plumber在API中添加可选参数?

  18. 18

    有没有一种方法可以导入不存在的模块而不会出现错误?

  19. 19

    有没有一种方法可以按组计算比例?

  20. 20

    有没有一种方法可以使此Regex表达式不那么贪婪。使用Excel VBA

  21. 21

    有没有一种方法可以输出表达式而无需评估jupyter notebook

  22. 22

    有没有一种方法可以对USB闪存驱动器进行分区,以使两个/所有分区都出现在Windows中?

  23. 23

    有没有一种方法可以从单个列表理解表达式输出多个列表?

  24. 24

    有没有一种方法可以使用lambda表达式在NameValueCollection中查找非空值

  25. 25

    有没有一种方法可以在Python 2中使用带有正则表达式的memoryview?

  26. 26

    有没有一种方法可以读入文件,使用正则表达式替换并输出文件,而不会弄乱行尾和无效字符?

  27. 27

    有没有一种方法可以根据以前的捕获组(而不是以前捕获的)来匹配正则表达式?

  28. 28

    有没有一种有效的方法可以在 php 中的更大的正则表达式替换中运行子正则表达式替换语句

  29. 29

    有没有一种简单的方法可以使用正则表达式反转子字符串?

热门标签

归档