1

私は正規表現を扱うのが初めてです。私はほとんどの基本を理解していますが、正規表現から変数を抽出する方法に興味があります。私はそれをグーグルで試しましたが、毎回不足しています。

私がやろうとしているのは、正規表現の行から任意の数の文字列単語を解析することです。長さまたは一般的な構文は、私のパーサーには定義されていません。各単語間の区切りも不明です。Linux Bash スクリプトは ${variablename} を使用します

例: ユーザー定義の正規表現: " [a-zA-Z0-9] ${variable1} .* ${variable2} ... ([0-9]+)_${variable3}"

解析する文字列の正規表現をユーザーに定義してもらいたい。どのアイテムが私が気にする変数であるかを設定してもらいたいです。入力文字列がこの正規表現と一致することを後で確認し、変数として ${} としてフラグが付けられたものをすべて引き出すことができます。後で、プログラムが上記のユーザー定義の正規表現を受け取ると、文字列入力を受け取り始めます。

"_hello12_world_randomjunk12345$#!_wide_123_96584_web" この入力は正規表現と一致し、引き出すことができます: world as variable1 wide as variable2 web as variable3

私の実際の質問: 正規表現には、上で書いた ${} の代わりに、正規表現内の変数を処理する一般的な構文がありますか? ${} は bash スクリプトであり、必要に応じて自分のプログラムで作成できます。車輪を再発明しないようにしたいだけです。

4

1 に答える 1

0

RegEx では、抽出する部分はグループと呼ばれ、式の適切な部分を括弧で囲むことで識別されます。

そこから、これらの値を抽出して使用する方法は、言語/ライブラリに完全に依存しますが、グループを検索すると、目的が得られるはずです。

于 2013-03-25T19:24:03.000 に答える