繁体   English   中英

正则表达式匹配但不包含在组中

[英]regex match but not include in group

我正在做一点正则表达式来识别一个复数。 我在C#学校计划中需要它。 我必须识别复数,例如:3 + 5i 3 + 5k 4-i5 6 + f7

因此,虚部可以在值的后面或前面包含任何字符。 我写了这个正则表达式:

(?<reale>[+-]?\d+)(?<immaginaria>[+-]\d+[a-zA-Z]|[+-][a-zA-Z]\d+)

问题是,当我参加一个名为“ immaginaria”的小组时,我得到了带有虚部的char(例如i或j),而我却想不用它。.我找到了使用Look-ahead和Look的解决方案-但是,但是在尝试在正则表达式中实现它时遇到了问题(这是我编写的第一个正则表达式)

(?<reale>[+-]?\d+)(?<immaginaria>[+-]\d+(?=[a-zA-Z])|[+-](?=[a-zA-Z])\d+)

我对您的第一次尝试做了一些修改,以将虚部的符号和值分开,可以在成功匹配之后将它们连接起来:

(?<reale>[+-]?\d+)((?<immaginariasign>[+-])(?<immaginaria>\d+)[a-zA-Z]|(?<immaginariasign>[+-])[a-zA-Z](?<immaginaria>\d+))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM