优化?
我在使用以下正则表达式时遇到问题:
/^\s*(/?\*{1,2}(\s*(\b.*\b)\s*(\*/)?)?|\*/?\s*)$/g
我想知道我是否可以改善这种表达方式?另外,如果有人能发现这个表达有问题,你能注意到它。这是我的现场演示。它适用于我在下面设置的所有条件
测试约束
这些匹配
/**
/*
*
*/
/** Javadoc */
/* Block */
* Multi-line
/* Single Line */
/** A
/** A */
/* A
/* A */
这些不应该
7 * 8
// Regular comment
结果
将比赛替换为:// $3
我成功地转换了它们,尽管其中一些有尾随空格:
//
//
//
// Javadoc
// Block
// Multi-line
// Single Line
// A
// A
// A
// A
正则表达式解释
/
^ Line start
\s* 0 or more white-space
( Start group 1
/? forward-slash (OPTIONAL)
\*{1,2} 1 to 2 asterisks
( Start group 2
\s* 0 or more white-space
( Start group 3
\b Start word boundry
.* 0 or more of anything
\b End word boundry
) End group 3
\s* 0 or more white-space
( Start group 4 (OPTIONAL)
\* 0 or more asterisks
/ Forward-slash
)? End group 4
)? End group 2 (OPTIONAL)
| OR
\* Asterisk
/? Forward-slash (OPTIONAL)
\s* 0 or more white-space
) End group 1
$ Line end
/
g Global; match all