私は、Microsoft VBScript Regular Expressions 5.5へのVBAプロジェクト参照を含むMicrosoft Access 2007データベースでRegexを使用しています。VBやJavaなどの言語で使用される「トリム」関数の正規表現とは何ですか?
すべてがよく...ほとんどです。私は 'Trim'関数のように振る舞う正規表現を知りたいですか?
私はこれを持っています:(?:。?)*)これは "最後の試合の後にすべてをキャプチャする"ことです。しかし、私は削除したい余分なスペースに常にマッチします。
以下に関連するコードを示し、その後にデバッガのスクリーンショットを示します。部分集合の項目4には「CAN」があります。どのように正規表現でスペースを削除するので、私はトリム関数を使用する必要はありません..?
pattern = "^(\d{1,2})(?:\/)(\d{1,2}(?:\.\d{1,3})?)(OZ)((?:.?)*)"
regex.pattern = pattern
Set matchCollection = regex.Execute(workstring)
If matchCollection.Count > 0 Then
matchSection = "LOOSE CASES"
itemtype = "CASE"
percase = matchCollection(0).SubMatches(0)
perpack = 1
unitsize = matchCollection(0).SubMatches(1)
uom = matchCollection(0).SubMatches(2)
other = VBA.Trim(matchCollection(0).SubMatches(3))
End If
私はそれが '^ \ s + | \ s + $'だと思います。 –
@mikeそして空の文字列にマッチするポイントは何ですか? '\ s *'はマッチング(何のための空文字列ですか?)や置き換え(空文字列を空文字列に置き換える点は何ですか?)の意味もありません。 –
これは余白の余分な部分を突き合わせるためのものです。例えば、末尾の空白やキャリッジのいずれかが文字列の最後に戻る。より論理的な選択肢は\ s +かもしれないので、空白は1つまたは複数のものではなく、何も一致しない点が何であるかという理由からです。しかし、私は複雑な表現のいくつかのケースでは、* over +を使うという選択がよりシンプルになるかもしれないと思います。 – spinjector