使用上下文(脚本)在字符串中查找字符串

时间:2011-07-22 15:17:24

标签: c# regex scripting

我正在开发一个简单的2D游戏引擎,使用简单的脚本语言。 以下是脚本应如何显示的示例:

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

我遇到的问题是如何从第一行(不一定是第一行)获取'AssetName'。做这个的最好方式是什么?正则表达式(从未使用它们,谷歌对如何使用它们没有帮助)?

我想在语言中允许它使用'&gt;'结束命令或者以新命令'&lt;'的开头。 所以字符串的定义如下:

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

提前谢谢你。 :)

1 个答案:

答案 0 :(得分: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 希望这会有所帮助。