0

私はこのURLを持っています:

C:\Projects\Ensure_Solution\GD_EServices_Web\App_WebReferences\GD_Eservices_Web_Service\GD_Eservices_Web_Service.wsdl
C:\Projects\Ensure_Solution\GD_EServices_Web\App_WebReferences\GD_Eservices_Web_Service\GD_Eservices_Web_Service.wsdl

wsdl ファイル名を取得したい (先頭のスラッシュなし)

私は2つのソリューションで成功しました:

\\[^\\]+$

\\(.(?!\\))+$

しかし、これは先頭のスラッシュを返します: http://regexr.com?32lvi

ここに画像の説明を入力

ファイルのみを返す正規表現を強化するにはどうすればよいですか?

4

5 に答える 5

1

否定的な先読みを試してください(?!\\)(.(?!\\))+$

于 2012-11-01T11:10:36.887 に答える
1

正規表現の先頭のスラッシュを除外するだけです。

var path = 'C:\\Projects\\Ensure_Solution\\GD_EServices_Web\\App_WebReferences\\GD_Eservices_Web_Service\\GD_Eservices_Web_Service.wsdl';
console.log(path.match(/[^\\]+$/));

そして、正規表現なしでsplit取得し、 を使用して、最後の要素を で取得できpopます。

console.log(path.split('\\').pop());
于 2012-11-01T11:13:03.830 に答える
1

これはうまくいくはずですが、あなたの場合、正規表現ではなく(javascript)または(phpの場合、あなたが使用している言語はわかりません)[^\\]+$ のようなsmthを好みます。string.split('/').pop()array_pop(split('/', string))

于 2012-11-01T11:09:39.233 に答える
0

これはそれを行う必要があります:

([\w\d_-]*)\.?[^\\\/]*$

このスレッドには、javascript の例がいくつかあります。

または、「\」で文字列を分割して配列を作成し、配列の最後の配列を取得することもできます。

于 2012-11-01T11:10:41.257 に答える
0

これを試して

\\[^\\]+$

注:つまり、先頭のバックスラッシュを1 つだけにしてみてください

于 2012-11-01T11:08:15.063 に答える