69

私の正規表現の一部は :/<a .*?(" "|"")(href)です。内で、(" "|"")スペースまたはスペースなしで一致を言おうとしていますが、何も得られません。私も試し("\s"|"")てみましたが、結果はありませんでした。

4

2 に答える 2

128

「スペースまたはスペースなし」は「ゼロまたは1つのスペース」、またはおそらく「ゼロまたはそれ以上のスペース」と同じです。あなたが何を望んでいるのか正確にはわかりません。

以下の説明では<space>、短いコード スニペットでは 1 つのスペースを見つけるのが難しいため、1 つのスペースを表すために を使用します。実際の正規表現では、実際のスペース文字を使用する必要があります。

0 または 1 スペースは、1 つのスペースの後に疑問符 ( <space>?) が続く形で表されます。これは、正確に 0 個または 1 個のスペースに一致します。ゼロまたは任意の数のスペースに一致させたい場合は、?*(例: <space>*)に置き換えます。

「スペース」が実際に「任意の空白文字」(タブなど) を意味する場合は、\sほとんどの正規表現エンジンが空白として変換するものを使用できます。したがって、任意の空白文字の 0 個または 1 個は になり\s?、0 個以上は になります。\s*

于 2013-09-09T15:42:46.307 に答える