日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

leetcode 65. 有效数字(正则表达式)

發布時間:2023/11/29 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 leetcode 65. 有效数字(正则表达式) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目

有效數字(按順序)可以分成以下幾個部分:

  • 一個 小數 或者 整數

  • (可選)一個 ‘e’ 或 ‘E’ ,后面跟著一個 整數
    小數(按順序)可以分成以下幾個部分:

  • (可選)一個符號字符(’+’ 或 ‘-’)
    下述格式之一:

    • 至少一位數字,后面跟著一個點 ‘.’

    • 至少一位數字,后面跟著一個點 ‘.’ ,后面再跟著至少一位數字

    • 一個點 ‘.’ ,后面跟著至少一位數字
      整數(按順序)可以分成以下幾個部分:

    • (可選)一個符號字符(’+’ 或 ‘-’)

    • 至少一位數字
      部分有效數字列舉如下:

    • [“2”, “0089”, “-0.1”, “+3.14”, “4.”, “-.9”, “2e10”, “-90E3”, “3e+7”, “+6e-1”, “53.5e93”, “-123.456e789”]
      部分無效數字列舉如下:

    • [“abc”, “1a”, “1e”, “e3”, “99e2.5”, “–6”, “-+3”, “95a54e53”]
      給你一個字符串 s ,如果 s 是一個 有效數字 ,請返回 true 。

    • 示例 1:

    輸入:s = “0”
    輸出:true

    • 示例 2:

    輸入:s = “e”
    輸出:false

    • 示例 3:

    輸入:s = “.”
    輸出:false

    • 示例 4:

    輸入:s = “.1”
    輸出:true

    提示:

    • 1 <= s.length <= 20
    • s 僅含英文字母(大寫和小寫),數字(0-9),加號 ‘+’ ,減號 ‘-’ ,或者點 ‘.’ 。

    解題思路

    有效數字主要由下面幾部分組成(括號表示可選內容)

    (+/-) 整數(.整數) (e (+/-) 整數)

    使用的正則表達式表示

  • 中括號[]:只有方括號里面指定的字符才參與匹配,也只能匹配單個字符。
  • 表達式:t[abcd]n 只可以匹配:tan,tbn,tcn,tdn。不可以匹配:thn,tabn,tn等。

  • | 符號。相當與“或”,可以匹配指定的字符,但是也只能選擇其中一項進行匹配。
  • 表達式:t(a|b|c|dd)n 只可以匹配:tan,tbn,tcn,tddn。不可以匹配taan,tn,tabcn等。

    匹配的正則表達式如下圖所示

    代碼

    class Solution {public boolean isNumber(String s) {String reg="^[+|-]?(([0-9]+\\.[0-9]*)|([0-9]*\\.[0-9]+)|([0-9]+))([e|E][+|-]?[0-9]+)?$";return s.matches(reg);} }

    總結

    以上是生活随笔為你收集整理的leetcode 65. 有效数字(正则表达式)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。