2

我正在尝试确定字符串的开头结尾是否有星号。

例如:*italic*

我正在制作一个降价编辑器,而且我对 REGEX 还很陌生。我知道^意味着字符串的开始,$意味着结束,我只是不知道如何实现。

4

2 回答 2

4

尝试这个

^\*.*\*$

以星号开头,包含零个或多个(几乎)任何内容(包括星号),以星号结尾

在这里检查


或者,如果您需要多线支持......这将起作用。

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

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


如果你不想*在中间,你可以做这样的事情:

^\*[^*]*\*$

如果您只想要星号中的一个单词,例如*bold**italic*...您可以执行以下操作:

^\*\w*\*$

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

于 2013-08-25T01:39:17.353 回答
3

你也可以利用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
于 2013-08-25T02:10:10.543 回答