をフィルタリングするためのbashスクリプトのために、私が上でこのようなMIPS命令に対するチェック式を考案しようとしている:私はlw
の式と$t1
部分を持っていますが、私は正規表現は、MIPS命令
lw $t1 70000($s0)
70000($s0)
部分に貼り付けてください。
数($s0)
が−32768
又は32767
を超えることができない前に、$
一度だけ存在する必要があり、s
部分はs
又はt
ことが一度だけ発生することがあり、その後数だけs
ため0-7
の範囲とすることができますt
の場合は0-9
です。
これに関するお手伝いがあれば幸いです。私は、入力されたテキストが有効であるかどうかを確認するif文でこれを使用しています
^(\$((s?[0-7])|(t?([0-9]))))$
、それは主に付けられ:ここでは
は、私が持っている表現は私のスクリプトの他のセクションから$s0
部分があります私は立ち往生しています。
おかげ
EDIT1:は、私が最初に(
の前に文字列を切り捨てるoffset=${w3%(*}
を使用して($s0)
から値を分離するために管理しています。私のスクリプトは値の前に(
のようなものを扱わないでください。
この値が−32768
より小さいか、32767
より大きいかどうかを確認する必要があります。どのようにアーカイブすることができますか?
EDIT2:私は自分の問題を解決して解決策を回答として投稿しました。
範囲チェックが正規表現内にある必要がある理由はありますか?単純な一般式を数値に使用する方が簡単ですし、後でキャプチャグループを参照して特定の値を確認してください。 –
私はそれが簡単だろうと思うが、私はbashとregexが私の強みの一つではないので、私は別に番号の部分をどうやってチェックするのか分からない。一例を挙げてください。 – HarmanU