c# - 使用正则表达式查找子字符串的长度
问题描述
我已经设法使用表达式按如下方式匹配组,
\([^\)]*\)
示例字符串是,
s11(h 1 1 c)(h 1 1 c) x="" y="" z="" phi="" theta=""
e(45,10,h 1 1 c,1,cross,max) x="" y="" z="" phi="" theta=""
使用上面的表达式,我可以匹配(h 1 1 c)(h 1 1 c)
和(45,10,h 1 1 c,1,cross,max)
但我想捕获起始字符串s11
以及e
(h 1 1 c)(h 1 1 c)
(45,10,h 1 1 c,1,cross,max)
解决方案
询问直到第一次出现的长度与询问第一次出现的索引相同。
这里不需要正则表达式,如评论中所述,方法返回第一次出现的索引就足够了:
var lengthOfSubstring = "rxx(a 0 0 b)(a 0 0 b)".IndexOf(')'); // returns 11
if( lengthOfSubstring < 0 )
{
// character not found within the string, so the substring doesn't exist
}
推荐阅读
- javascript - 无法使用 SVG.js 在原点绘制。可能在 .viewBox() 调用中做错了什么?
- javascript - 值控制台记录为真,但在 if 语句中声明为假
- c++ - CreateFileMappingA() name paramater
- javascript - Prevent React Router from accessing directly an URL without navigating
- python - 我如何在 DJANGO 中运行我的 python 程序
- javascript - Move cursor past span on content editable
- laravel - Laravel 上传到 AWS EB 迁移:无迁移
- r - 如何找到点到线的距离(知道所有点)?
- selenide - 无法让 JUnit5 屏幕截图正常工作
- python - Ryu/OpenFlow 如何将 in_port 号映射到物理端口