检查字符串在开头和结尾是否带有星号和正则表达式

时间:2013-08-25 01:34:24

标签: javascript regex string markdown

如果一个字符串在开头的结尾处有一个星号,我正在尝试弄清楚。

例如:*italic*

我正在制作降价编辑器,而且我对REGEX很新。我知道^表示字符串的开头,而$表示结束,我只是不知道如何实现。

2 个答案:

答案 0 :(得分:4)

试试这个

^\*.*\*$

从星号开始,包含零个或多个(几乎)任何东西(包括星号),以星号结尾

Check it here


或者,如果您需要多线支持......这将有效。

^\*[\s\S]*\*$

\s将匹配包含换行符的任何空格,\S匹配非空格字符。


如果您不希望*位于中间,您可以执行以下操作:

^\*[^*]*\*$

如果您只想在*bold**italic*等星号中使用单个字词,那么您可以执行以下操作:

^\*\w*\*$

我想我已经涵盖了您可能需要的所有内容,如果情况不是这样,请告诉我。

答案 1 :(得分:2)

您也可以使用String#charAt()

假设JavaScript:

var str = "*italics*";
alert(str.charAt(0) === '*' &&
      str.charAt(str.length - 1) === '*'); // true

假设Java:

String str = "*italics*";
System.out.println(str.charAt(0) == '*' &&
                   str.charAt(str.length() - 1) == '*'); // true