例如:
isValidCppIdentifier("_foo") // returns true
isValidCppIdentifier("9bar") // returns false
isValidCppIdentifier("var'") // returns false
我写了一些快速代码但它失败了:
我的正则表达式是 [a-zA-Z_$][a-zA-Z0-9_$]*"
我只需执行 regex.IsMatch(inputString)
。
谢谢..
最佳答案
它应该与一些添加的 anchor 一起工作:
"^[a-zA-Z_][a-zA-Z0-9_]*$"
如果您真的需要使用 Unicode 支持可笑的标识符,请随意阅读该标准的各种版本之一并将所有范围添加到您的正则表达式中(例如,http://www-d0.fnal.gov/~dladams/cxx_standard.pdf 的第 713 和 714 页)
关于c# - 如何检测 C++ 标识符字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3588467/