আমি রেজেক্স ব্যবহার করার চেষ্টা করছি এবং একটি ত্রুটি (সংকলক ত্রুটি) পেয়ে যাচ্ছি তালিকার তালিকা তৈরি করুন anyone যে কেউ আমাকে বলতে পারেন যে কোন অংশে আমি ভুল করছি।
if instr(1,regex.Pattern([A-Z]?dtest(rt,1)),b)>0 then
আমি রেজেক্স ব্যবহার করার চেষ্টা করছি এবং একটি ত্রুটি (সংকলক ত্রুটি) পেয়ে যাচ্ছি তালিকার তালিকা তৈরি করুন anyone যে কেউ আমাকে বলতে পারেন যে কোন অংশে আমি ভুল করছি।
if instr(1,regex.Pattern([A-Z]?dtest(rt,1)),b)>0 then
উত্তর:
InStr () এর এই ফর্ম্যাটটি রয়েছে :
InStr(startCharacter, searchInText, searchForText, compareMode)
startCharacter - a number (Long)
searchInText - string (no RegEx, or pattern matching, or wildcard characters)
searchForText - string (no RegEx, or pattern matching, or wildcard characters)
compareMode - a number (from -1 to 2)
এটি একটি নম্বর দেয় (ভেরিয়েন্ট - দীর্ঘ) - সূচক যেখানে searchForText
পাওয়া যায় তার মধ্যেsearchInText
এই বিকল্পগুলি ব্যবহার করে দেখুন:
Option Explicit
Sub findTxt()
Debug.Print InStrRegEx("987xyz", "[A-Z]") ' -> 4
Debug.Print getText("987xyz", "[A-Z]") ' -> x
Debug.Print InStr(1, "987xyz", "x") ' -> 4
Debug.Print InStr(1, "987xyz", getText("987xyz", "[A-Z]")) ' -> 4
Debug.Print "987xyz" Like "*[A-Za-z]" ' -> True
End Sub
Public Function InStrRegEx(ByVal searchIn As String, ByVal searchFor As String) As Long
Dim regEx As Object, found As Object
If Len(searchIn) > 0 And Len(searchFor) > 0 Then
Set regEx = CreateObject("VBScript.RegExp")
regEx.Pattern = searchFor
regEx.Global = True
regEx.IgnoreCase = True
Set found = regEx.Execute(searchIn)
If found.Count <> 0 Then InStrRegEx = found(0).FirstIndex + 1
End If
End Function
Public Function getText(ByVal searchIn As String, ByVal searchFor As String) As String
Dim regEx As Object, found As Object
If Len(searchIn) > 0 And Len(searchFor) > 0 Then
Set regEx = CreateObject("VBScript.RegExp")
regEx.Pattern = searchFor
regEx.Global = True
regEx.IgnoreCase = True
Set found = regEx.Execute(searchIn)
If found.Count <> 0 Then getText = CStr(found(0))
End If
End Function