题解 | #表示数值的字符串#
表示数值的字符串
https://www.nowcoder.com/practice/e69148f8528c4039ad89bb2546fd4ff8
import java.util.*; import java.util.regex.Pattern; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param str string字符串 * @return bool布尔型 */ public boolean isNumeric (String str) { // write code here // ^表示开头 $ 表示结尾 java中两个\\ 代表一个\ // * 零次或多次匹配前面的字符或子表达式 // ?零次或一次匹配前面的字符或子表达式 // + 一次或多次匹配前面的字符或子表达式 // [] 字符集。匹配包含的任一字符 // (:? )匹配 pattern 但不捕获该匹配的子表达式,即它是一个非捕获匹配 String pattern = "(\\s)*[+-]?((\\d+(\\.(\\d+)?)?)|(\\.\\d+))([Ee][+-]?\\d+)?(\\s)*"; //根据匹配值返回 return Pattern.matches(pattern, str); } }#字符串匹配(正则表达式)#