1

オペランドが単語である電卓を作成しようとしています。何度でも繰り返すことができます。例:EmpName+xyzまたはEmpNameまたはx+rr+fff。そのようなパターンを拒否する必要があります。たとえば、EmpName+
正規表現を作成しました。

 (?m)(?<Operand>^[a-z].*?)(?<Operator>[+*])  

On this output:  
  1) a + b  
  2) ab+dddd  
  3) ab*fffff*ggggg  
  4) dfg+fg4444+fgf4  
  5) xxxxx  
But it only targets 1,2,3,4 and up to only first operator. Output in regex 2.05. 
"Operand: [ab]"  
"Operator:[+]"  
I am using regex builder 2.05 to test my regex.  How i can repeat this pattern any number of times?  Thanks in advance.
4

1 に答える 1

0

これは通常、次のように表されます。

  • オペランドの後に(演算子 オペランド)が1回以上続く

あれは

  • (?m)<Operand>([+*]<Operator>)*

はい、私は括弧だけでなく、除算、パーセンテージ、マイナス記号も必要です。

次に、実際のパーサーの使用を検討することをお勧めします。バランスのとれた括弧の言語は規則的ではありません。

于 2012-05-14T11:39:10.370 に答える