次の URI を使用します。
http:\/\/.*\.google\.com/search/results\.php*
特定の URI 内の 2 つの英数字の間の単一のスラッシュ ( / ) をすべて一致させようとしているだけです。上記の場合、検索と結果の直前の 2 つです。正しい方向に私を向けることができますか?
編集
意図は、メモ帳++を使用して検索と置換を行うことです。
次の URI を使用します。
http:\/\/.*\.google\.com/search/results\.php*
特定の URI 内の 2 つの英数字の間の単一のスラッシュ ( / ) をすべて一致させようとしているだけです。上記の場合、検索と結果の直前の 2 つです。正しい方向に私を向けることができますか?
編集
意図は、メモ帳++を使用して検索と置換を行うことです。
「URI」はすでに正規表現のように見えるため、そこで何をしているのかよくわかりません。
ただし、/
英数字の間に埋め込まれたスラッシュ ( ) を一致させるには、次を使用できます。
/(?<=[a-zA-Z0-9]/)(?=[a-zA-Z0-9])
肯定的な後読みと先読みにより、スラッシュが実際に 2 つの英数字の間にあることが確認されます。
Windows PowerShell でテストします。
PS Home:\> $uri='http://stackoverflow.com/questions/2259778/simple-regex-url-related-matching-help'
PS Home:\> [regex]::matches($uri, '(?<=[a-zA-Z0-9])/(?=[a-zA-Z0-9])') | ft -auto
Groups Success Captures Index Length Value
------ ------- -------- ----- ------ -----
{/} True {/} 24 1 /
{/} True {/} 34 1 /
{/} True {/} 42 1 /
ETA:私の理解が正しければ、2 つの英数字の間に埋め込まれたスラッシュ\/
をエスケープするために に置き換えたいと思われますよね?
次に、以下を置き換えます
([a-zA-Z-0-9])/([a-zA-Z-0-9])
に
\1\\/\2
動作するはずです。これはスラッシュのみをキャプチャするわけではありません (上記の方法のように、Notepad++ の制限のため)。そのため、周囲の文字も再挿入する必要があります。
ただし、いずれにせよ、エスケープされていないスラッシュを検索する必要があるでしょう。だから交換
([^\\])/
に
\1\\/
より理にかなっていると思います。これは、バックスラッシュが前にないスラッシュを検索します。
http://. .google.com/search/results.php