導航:首頁 > 編程語言 > jsjava正則表達式

jsjava正則表達式

發布時間:2022-08-10 11:42:16

1. js正則表達式 和java正則表達式一樣嗎

javascript中的正則表達式和java的正則表達式基本上是相同的,區別在於分組引用和對象,方法
具體區別:
1).javascript正則表達式創建有兩種方法:
a.顯式創建:
var re = new RegExp("正則表達式模式串");
re.test(要校驗或處理的源字元串);

b.隱式創建:
var re = /正則表達式模式串/;
要校驗或處理的源字元串.match(re);

2).分組捕獲對象引用方式不同
javascript也是使用"()"進行分組,但是捕獲對象用RegExp對象的$1到$99來引用捕獲對象。

附錄:常用的javascript正則表達式,java的也類似
ip地址校驗正則表達式(IPv4):
/^(/d{1,2}|1/d/d|2[0-4]/d|25[0-5])(/.(/d{1,2}|1/d/d|2[0-4]/d|25[0-5])){3}$/

Email校驗正則表達式:
/^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(/.[a-zA-Z0-9_-]+)+$/

格式為:2010-10-08類型的日期格式校驗正則表達式:
/^/d{4}-(0?[1-9]|1[0-2])-(0?[1-9]|[1-2]/d|3[0-1])$/

格式為:23:11:34類型的時間格式校驗正則表達式:
/^([0-1]/d|2[0-3]):[0-5]/d:[0-5]/d$/

樓主結貼吧,查資料的時候看到的

2. js正則轉java正則怎麼轉

js正則轉java:你應該是想知道js正則表達式,在java里怎麼寫吧。
舉例:String strRegex = "^[1][3,4,5,8][0-9]{9}$";校驗手機號碼
String str = "13977895777";
str.matches(strRegex );

3. js 正則表達式 改成java正則表達式

String reg="((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]" +
"|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+" +
"(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]" +
"|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)" +
"((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?" +
"(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|" +
"[\\x5d-\\x7e]|" +
"[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|" +
"(\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|" +
"[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*" +
"(((\\x20|\\x09)*(\\x0d\\x0a))?" +
"(\\x20|\\x09)+)?(\\x22))@" +
"((([a-z]|\\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|" +
"(([a-z]|\\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])" +
"([a-z]|\\d|-|\\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*" +
"([a-z]|\\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\\.)" +
"+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|" +
"(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])" +
"([a-z]|\\d|-|\\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*" +
"([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))";
String email ="[email protected]";
System.out.println(email.matches(reg));

測試測試 看看對不對。。。

4. javascript正則表達式變成java正則表達式

java和javascript是通用的,只需要在\處多加一個\即可

5. java中和javascript中的函數、正則表達式、數組、選擇結構和循環函數可以通用嗎 有什麼區別

剛好你問的我都不陌生,挑戰一下我的理解力與總結能力。
首先說明兩門語言不一樣,除了有java這個字,語句塊的表達一樣外幾乎沒啥共同性。javascript只因單年java太流行,自己也跟著有個java的名稱,設計javascript的人初衷的確想弄的跟java一樣,但是做不到。
javascript是解釋執行的,需要宿主環境來執行,比如瀏覽器就是一個宿主環境,node.js提供的javascript也是個宿主環境,還有adobe pdf也提供了javascript的宿主環境,javascript的宿主環境很多,windows office 蘋果的store有。再餘下的還有不知道了。
java編譯執行的,最先設計用來,給美國的有線電視機頂盒,寫控制代碼,發明之初100多兩百個類,比現在好學,運行環境要求也不嚴格。很小的內存,很少的cpu資源就可以跑起來,懷念可惜這方面的功能我不會用。後來java的設計團隊覺得,java應該有更大作為。在瀏覽器開發設計盛行的90年代,java的設計者用java開發過瀏覽器,在瀏覽器上發展applet,可惜微軟不待見java,java在瀏覽器方面的努力,再牛(我看過很多java方面的書,很多設計理念都很好,只可惜運行平台不是自己的),也失敗了。最終java實現了跨平台發展,這才是java的活力所在。所謂跨平台虛擬機也要有人提供,sun公司自己寫的虛擬機還行。見過hp-unix上跑的虛擬機問題不少!!!
javascript規范裡面說明,javascript是非類型安全的。而java是類型安全的,區別很大。

上個例子:
js:
var myLover = true;
console.log(myLover);
myLover = "myself";
console.log(myLover);
js這樣寫不會有問題的,同一變數可存儲邏輯值,也可存儲字元串。甚至再放函數引用也行,對象引用也可以。
java:
public class TestDriver {
public void main(String[] args)

{
String s = "myLOver";

//下面會出錯的,編譯都通不過,s只能存儲字元串型的數據,這就是所謂的類型安全!

//s = true;

System.out.println(s);

}

}
java我的理解一門真正的編程語言,語法結構嚴謹,必須按照一定規則寫,否則就是錯誤。javascript語法鬆散,缺個;沒事的,javascript支持運行時的動態特性,比如運行時添加方法,成員等等。java沒這特性,java的運行時動態性,我知道的主要是反射(犧牲了語言的安全性,很多功能都依賴反射,還不好理解!),比如動態代理,json、xml、orm框架實體與數據之間的自動轉化都需要反射支持。反射不安全在於,可以隨便訪問類或實例的任何成員,任何方法,包括申明為private的域與方法。
鋪墊了這么多,來回答你想知道的問題。
先說函數,函數只有javascript中才有,java中絕對沒有函數。java是真正面向對象的語言,要想使用的基本功能,在java.lang與java.util這兩個包中去找,全部是以類的方式提供。這里沒有絕對,函數也好,類中的方法也好,實現思路有可能是通用的。javascript也可以實現面向對象編程,但我見到老點的代碼,都函數式面向過程編程。直到學jquery的時候才看到面向對象編程方法。但我不喜歡,jquery的擴展方式。javascript面向對象方式amd值得推崇,dojo框架用的就是amd,還有國內阿里的前端工程師更牛融合jquery與amd的優點,自己創建了一個效率很不錯的框架。
再說正則表達式:
js裡面的正則表達式兩種方式使用:
第一、用法較常見,包括js框架中都這種用法,我採納的這種用法。
var regExp = /^http:\/\//gi;
var isUrl = regExp.test("http://www..com/register");
console.log(isUrl)
第二種、用正則表示對象,這塊不常用,要寫樣例還需要查api參考,不給了。
java常用的正則表達式也是兩種:
第一種、java.util包中提供的,這個也要查api不謝樣例了;
第二種、第三方提供的,傳說效率很高,我倒是沒發現。名字忘記了,我一般用spring中用的那個,平時寫的程序不在這台電腦上,不好查,抱歉。
javascript 與 java的正則表達式本身相同的,如果你會用javascript寫正則,那麼一定也很快會使用java寫正則,兩門語言對正則的支持都很完美,幾乎支持正則中的所有功能,我所有項目中使用的正則沒有匹配不了的。兩門語言在現代機器上執行效率都很好。
數組,javascript只支持一維數組,但是可以模擬出多維數組:定義如下:
var mutipleArray = [[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15]];
for(var i=0;i<mutipleArray.length;i++)
{
for(var j=0;j<mutipleArray[i].length;j++)

{
console.log(mutipleArray[i][j]);

}

console.log("**************************");

}
java的數組,可支持多維數組,但一般用得少一點,一般都用List借口的實現類頂替。
javascript的數組,什麼都可以存儲,無論是對象,函數,原始類型,沒有要求的,所謂類型不安全!
java的數組只能存儲特定的類型,java.lang.Object,可以存任何對象類型,特例不要鑽牛角尖,基本類型與Object類型混合存就不行,自動打包的功能不要說,這也是特例。
從上面的比較來看,java與javascript的數組,不太一樣,語言本身就決定了他們兩連使用都不能相通。javascript數組有隊列,排序,刪除指定序列的操作功能,我的理解一個大雜燴,用數組的功能也可以實現類似list,map,迭代等等功能,參見jquery框架。java的隊列有專門的實現類。並且java在這方法提供的數據結構要遠遠比javascript豐富。
再來說選擇結構,javascript的選擇結構語法貌似與java相同,javascript的功能要更強大,貌似什麼值都行。java只能是數值型的,用得反而少,java這點實現不太好。jdk5後有枚舉改善了不少。因此,選擇結構也不相通。
循環函數,沒看懂,你要說的是循環控制語句,這兩個倒是基本一樣,差別是:
java編列數組(也包括list的實現類這么寫的):
for(Object o : objArr)

{
System.out.println(o);

}
而javascript中類似的結構,是遍列對象用的:
for(var p in obj)
{
//如果obj是數組,p是數組的索引,obj[p]是數組的值

//如果obj是對象,p是對象的屬性(有可能是對象域名稱或方法名稱,obj[p]是對象域值或對象方法)

console.log(p,obj[p]);

}
現在的js框架中都會有foreach迭代,類似java迭代的用法,注意循環!如jquery中的each。
//這不是語言提供的功能,別人重新封裝出來的。
$.each(arr,function(i,item){
console.log(item);

});
綜上所屬,java與javascript差別很大。包括樓主你想知道的問題,差別都很大。
希望我寫這么多能幫到你。

6. 請問java里正則表達式和JavaScript里的正則表達式的區別

我想應該是轉義字元的問題,要不你也不會那麼說。。。
介意多查下資料,正哲表達式是獨立的。java和javaScript都是遵循他的用法。

7. js中的正則表達式和java的正則表達式規則有區別嗎

規則沒區別把正則大概會看就行不要求書寫(專業的正則書寫比較難),公司正則一般都給好了黏貼就是了!!

8. 同一個正則表達式語句在JAVA和JAVASCRIPT中得到的結果為什麼不一樣呢

題主的出發點有點奇怪,要匹配 % 只要一個 "%" 就可以了
字串 "[%?]+" 的意思是%和?或兩者的組合都可以匹配

9. java和js正則的區別

?!表示當前內容右邊不包含這些字元
例如
表達式: a(?![a-zA-Z]+)
匹配字元串: abc a acd a1
匹配後的結果就是 a 和 a1 , 因為 匹配要求是 包含a,但a的右邊不能包含任何[a-zA-Z]的字元.

Java里由於字元串中的\需要先轉義,所有隻要是寫\都是兩個\
因此\\d 就是 javascript里的\d

閱讀全文

與jsjava正則表達式相關的資料

熱點內容
修改aix默認加密演算法 瀏覽:661
海邊散步放鬆解壓一下 瀏覽:21
空調有不帶壓縮機的嗎 瀏覽:61
java職業規劃面試 瀏覽:985
pdf填色 瀏覽:145
ie運行java 瀏覽:637
單相空調壓縮機的構造 瀏覽:136
迅雷app的回收站在哪裡啊 瀏覽:595
加密技術的特點包括4點 瀏覽:561
pcre源碼包 瀏覽:67
崑山ug數控編程培訓 瀏覽:520
integer類源碼 瀏覽:819
java排序的時間復雜度 瀏覽:859
伺服器陣列卡壞了怎麼維修 瀏覽:537
shm演算法 瀏覽:520
可愛的程序員陸漓離開 瀏覽:608
如何把掃描文件做成pdf格式 瀏覽:626
php個性qq源碼 瀏覽:821
初學c語言顯示源未編譯 瀏覽:247
資產概況源碼 瀏覽:472