0

これが本当に簡単な質問であることを願っていますが、次の一連のデータがあります。以下を参照してください。

*frac {7frac {1} {2} + 8} {frac {3} {4} +3} = 4

以下を返したい

frac {1} {2}
frac {3} {4}

しかし、次のことを取り戻しています。

7frac {1} {2}    
{frac {3} {4}

私が今まで持っている表現は次のとおりです。

[^\\*]frac\s{(.*?)}\s*{(.*?)}

余分な開始文字を削除するにはどうすればよいですか?

乾杯

4

3 に答える 3

3

[^\\*]潜在的な一致の前に「*」が付いている一致を除外するために使用しようとしているようです。機能しますが、一致にプレフィックスが含まれます。一致にプレフィックスを含めずに、否定の後読み( ) を使用して同じことを行うことができます。(?<!\*)

(?<![*\\])frac\s{(.*?)}\s*{(.*?)}
于 2013-02-18T20:18:28.017 に答える
0

最も簡単なのは、式の先頭に余分なビットを含めないことです。文字列の開始が本当に必要ですか? 私にはそう見えません。したがって、次を使用してください: frac\s{(.*?)}\s*{(.*?)}

于 2013-02-18T20:18:55.990 に答える
0

最初の[^\\*]. 式は次のとおりにする必要があります。

frac\s{(.*?)}\s*{(.*?)}
于 2013-02-18T20:22:12.553 に答える