我看到了很多代碼裏的人做這樣的事情:你怎麼稱呼它,當您將參數傳遞到下一個參數
myClass.someMethod(something here, $1);
的$ 1拿起從「東西在這裏」的值?
這是什麼叫做?我似乎無法在任何地方找到它?但這個步驟,過程中的情況下使用正則表達式頗有幾分..
我看到了很多代碼裏的人做這樣的事情:你怎麼稱呼它,當您將參數傳遞到下一個參數
myClass.someMethod(something here, $1);
的$ 1拿起從「東西在這裏」的值?
這是什麼叫做?我似乎無法在任何地方找到它?但這個步驟,過程中的情況下使用正則表達式頗有幾分..
你會經常看到這樣的正則表達式,其中$1
表示你結轉到新的價值捕獲組。
例如,假設我們正在爲我們的網站構建推文解析器。我們想找到@在鳴叫引用,並將其轉化爲鏈接到這些特定的帳戶:
// Our Tweet
$t = "I am @jonathansampson, and I work with @appendTo.";
// Find every occurence of @something, capture 'something'
echo preg_replace("/@([a-z]+)/i", "<a href='http://twitter.com/$1'>$0</a>", $t);
注意這裏,我們會等額@something的每一次出現,但我們在(
包裹的用戶名部分和)
,以便我們可以在我們的替換文本中單獨處理它。整個模式由$0
表示,它將整個值從@
保存到用戶名中的最後一個字符。
同爲JavaScript是正確的:
var tweet = "I am @jonathansampson, and I work with @appendTo.",
patrn = /@([a-z]+)/gi,
links = tweet.replace(patrn, "<a href='http://twitter.com/$1'>$&</a>");
變量links
現在包含值:
console.log(links);
/*
"I am <a href='http://twitter.com/jonathansampson'>@jonathansampson</a>, and
I work with <a href='http://twitter.com/appendTo'>@appendTo</a>."
*/
您可能注意到,我在JavaScript中使用$&
獲取整個匹配的模式,同時使用PHP中的$0
- 我們必須處理這些生活中的差異。我的歉意;)
如果你在談論javascript,$可以在聲明中使用,所以它可能是一些東西。
例如,你可以將變量聲明爲
var $1 = 1;
然後用它在您的通話
myClass.someMethod(something here, $1);
同樣它可能是一個函數的引用。
你在說什麼*具體*語言? – Tigran
您將需要從實際代碼中提供具體示例。 – Pointy
選擇一種語言。這對不同的語言會有不同的含義。 –