【发布时间】:2015-01-25 19:20:39
【问题描述】:
我有一个字符串:
String str = { { /*start address*/ 0x00004200, /*Length*/ 0x00003CBF } , { /*start address*/ 0x00004200, /*Length*/ 0x00003CBF } };
我需要使用正则表达式验证上述字符串。
我写的正则表达式是:
^{ *{ *([/*]{1} *(\S* *)* *[*/]{1} *)?(0x)?[0-9a-fA-F]{1,8}, *([/*]{1} *(\S* *)* *[*/]{1} *)?(0x)?[0-9a-fA-F]{1,8} *} *( *,\s*{ *([/*]{1} *(\S* *)* *[*/]{1} *)?(0x)?[0-9a-fA-F]{1,8}, *([/*]{1} *(\S* *)* *[*/]{1} *)?(0x)?[0-9a-fA-F]{1,8} *})*\s*} *;$
我知道它有点复杂。我无法正确处理。应用程序只是在 Regex.Match 行崩溃。
我认为问题在于在字符串和正则表达式 w.r.t 之间存在 /* 和 */ 这是不正确的。
【问题讨论】:
-
尝试在debuggex.com 调试它,您可以在其中输入一个正则表达式并查看它的可视化表示,并输入数据以对其进行测试。这比在 C# 中尝试要容易得多。
-
谢谢你,马修。我试过这个工具。但我无法理解它的工作原理。
-
@MatthewWatson 我可以使用该工具并计算出另一个正则表达式。感谢分享工具参考。很有帮助!!