2011-07-22 94 views
1

我正在使用簡單的腳本語言編寫簡單的2D遊戲引擎。 下面是一個例子腳本應該怎麼樣子:使用上下文在字符串中查找字符串(腳本)

<a=AssetName> 
<scripthere> 
<script 
<dialogue 
contiue dialogue 
<a2=AlternativeAssetName 
<script> 

的問題,我有,是如何得到「ASSETNAME」出來的第一行(這一定不能是第一行)。做這個的最好方式是什麼?正則表達式(從來沒有使用過,谷歌沒有幫助我如何使用它們)?

我想讓它在語言中用'>'結束命令,或者用新命令'<'開始結束命令。 因此字符串將被定義是這樣的:

"<a=" + (string)AssetName + (">" || "<") 

預先感謝您。 :)

+5

我建議使用這種標準格式,所以你不必編寫自己的所有東西(json,xml,yaml,ini等) –

+2

你爲什麼要發明一種新的XML語言?我嚴重懷疑你無法找到正則表達式的幫助。 6個月前我做了一些研究,我知道有一個事實,我找到了RegexBuddy。 –

回答

0

我會注意上面的第一:)
的意見但是,如果你還是想要走你的路,這裏是如何(在C#):

string pattern = @"\< *a\=([^\<\>]+) *[\<\>]"; 
Regex r = new Regex(pattern, RegexOptions.IgnoreCase); 
Match m = r.Match(tosearch); 
if (m.Success) 
{ 
    foreach (Group g in m.Groups) 
    { 
    Console.WriteLine("Group: " + g.Value); 
    } 
} 
else 
{ 
    Console.WriteLine("No matches"); 
} 
Console.WriteLine(); 

//To keep the console window open after running the application, add the following lines of code: 
System.Console.WriteLine("Press any key to Continue..."); 
System.Console.ReadLine(); 

玩這個代碼在調試器,所以你可以使它適合你的需求。
如果需要,請閱讀有關正則表達式的更多herehere
希望這有助於。