ข้อบกพร่องรสจืดและอื่น ๆ


52

แอปเครื่องคิดเลข Android มาตรฐานบางรุ่นให้คุณกดปุ่มเช่น 'sin' แล้วกดปุ่ม 'del' เพื่อให้เป็น 'si' อาจเป็นเพียงข้อผิดพลาดที่พวกเขาไม่สามารถถูกลบออกได้

สกรีนช็อตของเครื่องคิดเลข Android

การจัดกลุ่มตัวอักษร / ตัวอักษรต่อไปนี้สามารถพิมพ์ได้:

 

บาป
si
s
cos
ร่วม
ค
สีน้ำตาล
ขอบคุณ
เสื้อ
LN
ล.
เข้าสู่ระบบ
ดูเถิด
อี

ดังนั้น 'รสจืด' นั้นสามารถพิมพ์ได้เพราะ ta-steless และ 'clogs' เพราะ 'c-log-s' อย่างไรก็ตาม 'รับ' ไม่สามารถพิมพ์ได้และไม่ใช่ 'an' หรือ 'xyz'

เขียนโปรแกรมที่ใช้คำเดียว (หรือลำดับของตัวอักษร, เฉพาะ az ในอินพุต) เป็นอินพุตและสร้างเอาต์พุตเพื่อระบุว่าคำนั้นสามารถพิมพ์ได้หรือไม่

ผลลัพธ์อาจเป็นอักขระ / ตัวอักษร / ตัวเลข / หลักเดียว หรืออาจจะใหญ่กว่า คำที่พิมพ์ได้ทั้งหมดควรสร้างผลลัพธ์เดียวกัน คำที่ไม่สามารถพิมพ์ได้ทั้งหมดควรสร้างผลลัพธ์เดียวกัน

ป.ล. จากความอยากรู้อยากเห็นคำว่าพจนานุกรมที่ยาวที่สุดที่พิมพ์ไม่ได้นั้นมีรสจืดหรือไม่?


1
เพียงเพื่อให้ชัดเจน: เราส่งออกหลักเดียวหรือตัวอักษรที่สอดคล้องกันที่เราเลือกเพื่อระบุว่าคำนั้นเป็นประเภทที่พิมพ์ได้และอีกหลักเดียวที่สอดคล้องกันหรือตัวอักษรที่เราเลือกเพื่อระบุว่าคำนั้นไม่สามารถพิมพ์ได้ ถูกต้องไหม
Dennis

3
คำที่ยาวที่สุดที่ฉันสามารถหาคือ 10 ตัวอักษรcoelostats
Conor O'Brien

1
ดังนั้น "πe" ไม่ใช่คำหรือไม่
Mr Lister

@Dennis Ya ไม่มากก็น้อย
ghosts_in_the_code

1
อีก 11: น้องสาว
คริส H

คำตอบ:


20

Perl, 47 43 41 + 1 = 42 ไบต์

-4 ไบต์ขอบคุณ @Sunny Pun -2 ไบต์ขอบคุณ @Brad Gilbert b2gills และ @Downgoat

วิ่งด้วย-nธง

say!/^(s(in?)?|co?|t(an?)?|ln?|log?|e)+$/

มันสามารถเล่นกอล์ฟได้แน่นอนกว่านี้ แต่ด้วยจิตวิญญาณของการแข่งขันฉันออกจาก regex ดั้งเดิมที่ฉันเริ่มต้นด้วย ไม่ส่งคืนสิ่งใดถ้าเป็นจริง1ถ้าเป็นเท็จ

ลองออนไลน์!

ฉันดาวน์โหลดไฟล์พจนานุกรมและคำที่ยาวที่สุดที่ฉันพบคือ 11 ตัวอักษร - tattletales


1
ฉันคิดว่าco?ควรจะเพียงพอเพราะsinจะดูแลs:) เล่นกับ/log?/!
Sunny Pun

1
มันไม่ได้บอกว่ามันจะต้องเป็นกรณีตาย (ลบi) หรือว่าผลเดียวจะทำให้รู้สึก (ลบหนึ่ง!)
แบรดกิลเบิร์ต b2gills

คุณต้องการให้ฉันตั้งค่าสถานะที่สิ้นสุดมากเนื่องจากการป้อนข้อมูลเป็นเพียง az?
Downgoat

คุณสามารถทำให้สิ่งนี้ง่ายขึ้น: -2: /^(s|sin?|co?|t|tan?|ln?|log?|e)+$/หรือถ้าคุณต้องการ:/^([celst]|sin?|co|tan?|ln|log?)+$/
ไม่ใช่ Charles ที่

1
เพลิดเพลินกับความโปรดปรานของคุณ!
ghosts_in_the_code

16

JavaScript (ES6), 44 ไบต์

s=>/^((si|ta|l)n?|co?|log?|[ste])+$/.test(s)

ฉันคิดว่านี่เป็น regex ที่สั้นที่สุด แต่แน่นอนฉันอาจผิด

คำอธิบาย

จุดเริ่มต้นที่ชัดเจนในการเริ่มต้นคือ regex ที่มีตัวเลือกทั้งหมดแยกต่างหาก:

s=>/^(sin|si|s|cos|co|c|tan|ta|t|log|lo|l|ln|e)+$/.test(s)

อันดับแรกเราสามารถสังเกตได้ว่าcosสามารถเกิดขึ้นได้จากcoและsทำให้ไม่จำเป็น:

s=>/^(sin|si|s|co|c|tan|ta|t|log|lo|l|ln|e)+$/.test(s)

บางส่วนของสิ่งเหล่านี้เช่นsinและsiสามารถรวมกันได้โดยการทำให้ตัวอักษรตัวสุดท้ายเป็นตัวเลือก:

s=>/^(sin?|s|co?|tan?|t|log?|ln?|e)+$/.test(s)

งานนี้เพราะsin?ตรงกับsiมีหรือไม่มีnที่สิ้นสุดจึงครอบคลุมทั้งสองและsinsi

ดูเหมือนจะมีจำนวนมากn?เช่นกัน ถ้าเรารวมพวกมันทั้งหมดเข้าด้วยกันล่ะ?

s=>/^((si|ta|l)n?|s|co?|t|log?|e)+$/.test(s)

อีกวิธีหนึ่งในการตีกอล์ฟนี้คือการรวมตัวเลือกชาร์ตเดี่ยวที่เหลือไว้ในช่วงตัวละคร แต่สิ่งนี้มีความยาวเท่ากัน:

s=>/^((si|ta|l)n?|co?|log?|[ste])+$/.test(s)

และนั่นคือวิธีที่คุณเล่นกอล์ฟ regex ง่าย ๆ ฉันเชื่อว่านี่เป็น regex ที่สั้นที่สุดที่ตรงกับทุกสตริงอย่างถูกต้อง แต่อาจไม่ ฉันจะมอบรางวัลให้แก่ผู้ที่จัดการเพื่อปรับปรุงจาก regex นี้ให้+100


สิ่งที่ฉันใช้ในคำตอบของฉันคล้ายกัน:^(s|t|co?|(l|ta|si)n?|log?|e)+$
Mama Fun Roll

ประการแรกฉันนับ 44 ไบต์ ประการที่สองนี่เป็นวิธีการแก้ปัญหาอื่น / /.test.bind(/^((si|ta|l)n?|co?|log?|[ste])+$/)แต่อีกต่อไป:
Conor O'Brien

@ ConorO'Brien อ๊ะไม่รู้ว่าฉันทำผิดอย่างไร ...
ETHproductions

คุณสามารถทำได้a=/^((si|ta|l)n?|co?|log?|[ste])+$/;a.test42 ไบต์ ฉันเชื่อว่าสิ่งนี้ได้รับอนุญาตเพราะa.testเป็นฟังก์ชั่นนิรนาม
NoOneIsHere

@SeeOneRhino มันเป็น แต่มันไม่ได้รับอนุญาตเพราะf=a.testมันไม่ทำงาน ฉันสงสัยว่าเป็นที่ยอมรับได้หรือไม่ที่จะโทรหาด้วยชื่อสำรองa.testแม้ว่า ...
ETHproductions

7

Pyth, 37 33 29 28 ไบต์

รหัสมีอักขระที่ไม่สามารถพิมพ์ได้ดังนั้นนี่คือxxdhexdump

00000000: 737d 5173 4d5e 733c 5252 6336 2e22 6174  s}QsM^s<RRc6."at
00000010: 14d0 69ba 76f1 ac59 6422 346c            ..i.v..Yd"4l

ลองออนไลน์

ไม่มีประสิทธิภาพทางดาราศาสตร์อย่างมาก ความซับซ้อนของเวลาและพื้นที่คือO (16 n ) O (24 n )

คำอธิบาย

อย่างแรกQคือa ต่อท้ายโดยปริยาย

s}QsM^s<RRc6."…"4lQ     Implicit: Q = input
            ."…"        Generate "logsincostanlnee"
          c6            Split in 6 parts: ["log", "sin", "cos", "tan", "ln", "ee"]
         R      4       For each n from 0 to 3
       <R               Take the first n chars from each string
      s                 Flatten the results
                 lQ     Get length of input
     ^                  Take that Cartesian power of the list
   sM                   Join each resulting list
 }Q                     Check if the input is found
s                       Cast to integer

OP ได้ชี้แจง; sคุณไม่จำเป็นต้อง
Dennis

6

เยลลี่ , 32 31 30 28 26 ไบต์

ŒṖw@€€“¡Ṡ[ẈKœịḲ-¢ȧ?-»’%3ḌẠ

เอาต์พุต0ถ้าคำนั้นพิมพ์ได้1ถ้าไม่ใช่ ขอบคุณ @JonathanAllan สำหรับการตีกอล์ฟ 1 ไบต์!

ลองออนไลน์!

มันทำงานอย่างไร

ŒṖw@€€“¡Ṡ[ẈKœịḲ-¢ȧ?-»’%3ḌẠ  Main link. Argument: s (string of lowercase letters)

ŒṖ                          Yield all partitions of s.
      “¡Ṡ[ẈKœịḲ-¢ȧ?-»       Yield "sine  logcostanln". Every third character
                            marks the start of a typeable word.
  w@€€                      Find the indices of all substrings in the partitions
                            in the string to the right (1-based, 0 if not found).
                     ’      Decrement. "Good" indices are now multiples of 3.
                      %3    Modulo 3. "Good" indices are mapped to 0, "bad"
                            indices are mapped to 1 or 2.
                        Ḍ   Convert from decimal to integer. A partition will
                            yield 0 iff all indices are "good".
                         Ạ  All; yield 0 if one or more integers are falsy (0), 1
                            if all integers are truthy (non-zero).

6

Brachylog 33 ไบต์

แก้ไขข้อผิดพลาดด้วย @Synoli

~c:1a
,"sincostanloglneeee"@6e@[?

ลองออนไลน์!

เอาต์พุตtrue.ถ้าพิมพ์ได้หรือfalse.อย่างอื่น

คำอธิบาย

เราลอง deconcatenations ของอินพุตจนกว่าเราจะพบสตริงที่สตริงทั้งหมดที่เราต่อกันนั้นเป็นส่วนนำหน้าของหนึ่งใน["sin", "cos", "tan", "log", "lne", "eee]นั้น

~c                          A list of strings which when concatenated results in the Input
  :1a                       All strings of this list satisfy the predicate below:

,"sincostanloglneeee"@5           The list ["sin", "cos", "tan", "log", "lne", "eee"]
                       e          Take one element of that list
                        @[?       The input is a prefix of that element

ทำไม.หลังtrue?
Kritixi Lithos

1
@KritixiLithos ใน SWI-เปิดฉากเมื่อแบบสอบถามคือพิมพ์เป็นความจริงtrue.และfalse.เป็นอย่างอื่น ฉันเพิ่งนำสิ่งนี้ไปใช้อีกครั้ง: ถ้าผลลัพธ์ถูกละเว้น (เหมือนที่นี่) และไม่มีการเขียนไปSTDOUTมันก็จะพิมพ์true.หรือfalse.ขึ้นอยู่กับว่าภาคหลักประสบความสำเร็จหรือล้มเหลว มันมีจุดใน SWI-Prolog เพราะtrue.และfalse.เป็นโปรแกรมที่ใช้ได้จริงซึ่งประสบความสำเร็จ / ล้มเหลวเสมอ
ทำให้เสียชีวิต

โซลูชันนี้ทำงานอย่างไรโดยไม่tanปรากฏอย่างชัดเจนในรายการ
Synoli

2
@Synoli มันไม่ได้ ฉันแก้ไขมันที่ราคา 3 ไบต์ขอบคุณ
ทำให้เสียชีวิต

4

Perl 6 ,  60 50  44 ไบต์

ความพยายามครั้งแรก ( 60 )

put +?(get~~/^<{<sin cos tan ln log e>».&{|m:ex/^.+/}}>*$/)

การแปลของ Perl 5 คำตอบ ( 50 )

put +?(get~~/^[s[in?]?|co?|t[an?]?|ln?|log?|e]*$/)

ใช้-nสวิตช์ ( 43 + 1 )

put +?/^[s[in?]?|co?|t[an?]?|ln?|log?|e]*$/

ตัวแรก?จะแปลงผลลัพธ์เป็นบูลีนและตัวแรก+จะแปลงผลลัพธ์นั้นเป็นตัวเลข ( 1for True, 0for False)


3

Mathematica, 101 ไบต์

If[StringMatchQ[#,("sin"|"si"|"s"|"cos"|"co"|"c"|"tan"|"ta"|"t"|"ln"|"l"|"log"|"lo"|"e")..],"T","F"]&

ดูเหมือนว่าส่วนที่ยากของความท้าทายนี้จะเกิดขึ้นกับ regex ที่สั้นที่สุดและเลือกภาษาที่กระชับที่สุดเพื่อให้ตรงกับ regex ผมไม่ได้มีอะไรที่จะนำไปสู่อดีตและ Mathematica ไม่ได้เป็นผู้สมัครที่ดีสำหรับหลังตั้งแต่คุณต้องใช้และStringMatchQ RegularExpressionสิ่งที่ฉันสามารถทำได้คือตอบ PS ของคุณ: คำที่ยาวที่สุดที่คุณสามารถพิมพ์ได้คือ "รสจืด"?

In[1]:= f=StringMatchQ[#,("sin"|"si"|"s"|"cos"|"co"|"c"|"tan"|"ta"|"t"|"ln"|"l"|"log"|"lo"|"e")..]&;

In[2]:= Select[EntityList@"Word",f@#[[2,1]]&][[All,2,1]]//SortBy[StringLength]//DeleteDuplicates
Out[2]= {c,e,l,s,t,cc,cl,el,et,lo,si,sl,ta,te,ccc,col,cos,cot,eel,ell,eta,etc,lee,let,log,lot,sec,see,set,sic,sin,sit,tae,tan,tat,tec,tee,cell,clog,clot,coco,cole,colt,coss,cost,cote,else,less,loco,loge,loll,lose,loss,lota,sect,seel,sell,sess,seta,sett,sill,silo,silt,sine,sise,siss,site,sloe,slog,slot,stet,taco,tact,tael,talc,tale,tall,tect,tell,test,cello,close,cosec,costa,cotan,eccle,elect,elsin,ettle,loess,lotte,secle,setee,since,sleet,stale,stall,state,steel,stele,tasse,taste,tatee,teest,telco,testa,tetel,tsine,cellco,closet,coleta,collet,coltan,cosine,cosset,costal,ecesis,estate,lessee,scelet,select,sellee,sestet,settee,settle,siesta,silole,stacte,stance,stasis,tallet,tallot,taslet,tassel,tasset,tattle,tectal,teetan,tellee,testee,tsetse,celesta,cessile,cocotte,collect,costate,ecolect,ectasis,electee,sessile,sinless,sitelet,statant,tassell,tastant,testate,coestate,colessee,colocolo,cosiness,costless,electant,lossless,sceletal,siletane,statelet,tactless,tallness,telltale,telocoel,coelostat,sissiness,stateless,tasteless,tattletale}

ดังนั้น "tattletale" น่าจะยาวที่สุดโดยตัวละครตัวหนึ่ง


ทำไมสิ่งนี้จึงไม่ใช่การแข่งขัน ฟังก์ชั่นf ที่คุณกำหนดไม่เป็นไปตามกฎของการท้าทายหรือไม่?
Dennis

ไม่มันจะออกTrueหรือFalseมากกว่าตัวเดียว
ngenisis

โพสต์ที่ติดแท็กด้วยปัญหาในการตัดสินใจนั้นเกี่ยวกับการพิจารณาว่าจริง / เท็จดังนั้นฉันจึงคิดว่านี่เป็นการแข่งขัน
FlipTack

สถานะที่ไม่ใช่การแข่งขันถูกสงวนไว้สำหรับการส่งที่ใช้ภาษาหรือคุณลักษณะภาษาที่ไม่มีอยู่หรือมีข้อบกพร่องเมื่อมีการโพสต์ความท้าทาย
Dennis

ยุติธรรมพอสมควร ฉันแก้ไขคำตอบของฉันเพื่อแก้ปัญหาจริง
ngenisis

2

สงสัย 41 ไบต์

!.(mstr"^(s|t|co?|(l|ta|si)n?|log?|e)+$")

การใช้งาน:

(!.(mstr"^(s|t|co?|(l|ta|si)n?|log?|e)+$")) "tasteless"

เข้าใจผิดโดยสิ้นเชิงคำถามก่อน แต่ตอนนี้มันได้รับการแก้ไขทั้งหมด เอาท์พุทFสำหรับการแข่งขันและTไม่มีการแข่งขัน

ไม่ใช่การแข่งขัน 35 ไบต์

!.`^(s|t|co?|(l|ta|si)n?|log?|e)+$`

การใช้งาน:

(!.`^(s|t|co?|(l|ta|si)n?|log?|e)+$`) "tasteless"

สิ่งนี้ใช้ประโยชน์จาก regexes ที่ใช้งานได้ซึ่งนำมาใช้หลังจากการท้าทายนี้


2
จากความเข้าใจของฉันคุณสามารถลบตัวอักษรตัวสุดท้ายในการคำนวณซึ่งหมายความว่าnในไม่ typable แต่sinและlnมี
Sunny Pun

regex นี้ตรวจพบsaว่าเป็นจริง
Kritixi Lithos

1
gotนี้ล้มเหลวกรณีทดสอบ
Dennis

ฉันเชื่อว่ามันคงที่
Mama Fun Roll

?ทำให้การแสดงออกย่อยอ่อนน้อม; ดูrexegg.com/regex-quantifiers.html#cheat_sheet แต่ถึงกระนั้นก็ทำให้โลภด้วย??หรือเป็นเจ้าของด้วย?+ไม่ได้ทำงานด้วยเหตุผลบางอย่าง (อย่างน้อยใน PHP) coelostatsทริกเกอร์กับดัก (ที่loและta)
ติตัส

2

กำลังประมวลผล 223 ไบต์

int d(String b){for(String p:"tan0log0sin0cos0ln0e".split("0"))if(p.startsWith(b))return 1;return 0;}

int l(String p){String b="";int t=1;for(char c:p.toCharArray()){b+=c;if(d(b)<1){b=c+"";t=d(b);}if(t<1)return t;}return t;}

ในที่สุดก็ตัดสินใจทำคำตอบโดยไม่ต้อง regex l("tasteless");ที่จะเรียกฟังก์ชั่นการใช้งาน ส่งคืน0ค่าเท็จและ1จริง

โค้ดขยายพร้อมคำอธิบาย

int d(String b){
  for(String p:"tan0log0sin0cos0ln0e".split("0"))
    if(p.startsWith(b))
      return 1;
  return 0;
}
//main function
int l(String p){
  String b="";
  int t=1;
  for(char c:p.toCharArray()){
    b+=c;
    if(d(b)<1){
      b=c+"";
      t=d(b);
    }
    if(t<1)return t;
  }
  return t;
}

โดยทั่วไปเราวนซ้ำสตริงที่กำหนดสร้างbถ่านโดยถ่าน เราตรวจสอบโดยใช้d()ถ้าใด ๆ ของtan, log... bเริ่มต้นด้วย ถ้าเป็นเช่นนั้นแสดงว่าถูกต้อง bอื่นที่เราตรวจสอบว่าถ่านในตำแหน่งที่ถูกต้องและเราได้รีเซ็ต ตอนนี้ถ้ามันไม่ถูกต้อง0จะถูกส่งกลับมิฉะนั้นจะยังคงถูกต้อง 1ในตอนท้ายว่าโปรแกรมดังกล่าวยังไม่ได้แล้วกลับมาบางสิ่งบางอย่างจากนั้นกลับมา


dฟังก์ชั่นไม่สามารถส่งคืน a boolหรือไม่?
Roman Gräf

@ RomanGräfมันเป็นไบต์มากขึ้นเพื่อใช้กว่าboolean intนอกจากนี้trueและfalseต้องไบต์มากกว่า1และ0
Kritixi Lithos

2

สกาลา, 49 ไบต์

s=>s.matches("(s(in?)?|co?|t(an?)?|ln?|log?|e)+")

ผลตอบแทนจริงถ้าสตริงที่กำหนดตรงกับ regex เท็จอย่างอื่น


2

Python 3 , 154 ไบต์

r=1;i=input()
while r:
 r=0
 for s in'sin,cos,tan,log,ln,co,lo,si,ta,s,c,t,l,e'.split(','):
  if i.startswith(s):r=i=i.replace(s,'',1);break
print(i=='')

ลองออนไลน์!


1
คุณอาจต้องตรวจสอบการเยื้องฉันต้องแก้ไขรหัสเพื่อให้มันทำงาน
george

@george, แปลก, ฉันพยายามในการทำงานและเรียบเรียงออนไลน์และทั้งสองดูเหมือนจะทำงาน
Henke

2

Python 3 , 149 130 ไบต์

i=input()
for a in 'tan,sin,cos,log,si,co,ta,lo,lo,ln,s,c,t,l,e'.split(','):
    if a in i:
        i=i.replace(a,"")
print(not i)

แก้ไข # 1: โกน 19 ไบต์โดยใช้โซลูชัน @Henke


0

Python 2, 124 ไบต์

f=lambda w:any(f(w[len(s):])if w[:len(s)]==s else 0for s in'sin,cos,tan,log,ln,co,lo,si,ta,s,c,t,l,e'.split(','))if w else 1

0

PHP, 60 ไบต์

<?=preg_match("#^((si|ta|l)n?|co?|log?|s|e|t)+$#",$argv[1]);

regex ถูกขโมยจากETHproductions :
รับอินพุตจากอาร์กิวเมนต์บรรทัดคำสั่ง; พิมพ์1สำหรับพิมพ์ได้สำหรับพิมพ์0ไม่ได้

รุ่นที่เก่ากว่า, 75 73 69 ไบต์

<?=!preg_replace("#co|log|ln|lo|sin|si|tan|ta|[celst]#","",$argv[1]);

แทนที่คำที่เป็นไปได้ทั้งหมดด้วยสตริงว่างส่งคืนผลลัพธ์ปฏิเสธ

<?=!preg_split("#co|log|ln|lo|sin|si|tan|ta|[celst]#",$argv[1],-1,1);

แยกอินพุตโดยการจับคู่ regex การ1ตั้งค่าสถานะย่อมาจากPREG_SPLIT_NO_EMPTYและบอกpreg_splitให้คืนผลลัพธ์ที่ไม่ว่างเปล่าเท่านั้น หากอินพุตสามารถพิมพ์ได้preg_splitจะมีเพียงผลลัพธ์ว่างเปล่าดังนั้นมันจะส่งกลับอาร์เรย์ที่ว่างเปล่าซึ่งเป็นเท็จ !ปฏิเสธผลลัพธ์

ทั้งสองเวอร์ชันรับอินพุตจากอาร์กิวเมนต์บรรทัดรับคำสั่ง
และพิมพ์1หากผลลัพธ์ว่างเปล่า (อินพุตพิมพ์ได้) ไม่มีอะไรอื่น

หมายเหตุ: การ
บรรจุ regex ที่ใช้?ไม่ทำงานที่นี่ มันแสดงผลการแสดงออกอย่างไม่เกรงกลัว; อาจเป็นเพราะการย้อนรอย และคำสั่งของทางเลือกที่มีความสำคัญ: taมีที่ยืนอยู่ต่อหน้าหรือเครื่องยนต์จะหยุดการจับคู่เมื่อพบtt

ฉันพบแผ่นโกงปริมาณคิด??หรือ?+อาจช่วย; แต่พวกเขาไม่ทำงานสำหรับฉัน


0

Java 8, 55 ไบต์

s->return s.matches("^((si|ta|l)n?|co?|log?|[ste])+$");

Disclamer: ฉันใช้regex ของ ETHproductionsเพราะมันสั้นกว่าหลายไบต์ เครดิตทั้งหมดใน Regex กับเขา สิ่งที่ฉันทำคือเพิ่ม 24 ไบต์เพื่อให้เป็นฟังก์ชัน Java

ส่งคืนfalseถ้าคำไม่พอดีกับ Regex หรือtrueไม่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.