Bạn có thể thực hiện Biểu thức chính quy trong Excel mà không cần VBScript không?


22

Tôi đang tìm một hàm Excel mà tôi có thể đặt vào một ô để thực hiện tìm kiếm regex về nội dung của một ô khác. Có bất cứ điều gì có sẵn để làm điều này? Tôi không muốn phải thêm VB Script vào bảng tính vì tôi có thể mã hóa giải pháp nhanh hơn. Đó chỉ là giải pháp nhanh nhất sẽ là một chức năng. Tôi không thể tìm thấy một, mặc dù. Vì vậy, có lẽ không có gì.

Có ai biết không?

Câu trả lời:


12

Bạn có thể chỉ cần thêm một tham chiếu đến 'Microsoft VBScript Biểu thức chính quy 5.5' trong VBE để hiển thị các hàm regex VBScript.dll cho Excel. Viết một hàm regex đơn giản là tầm thường, vd

Public Function emailCheck(rawEmail As String) As Boolean
    Dim reg As New RegExp
    reg.Pattern = "^[\w-\.]{1,}\@([\da-zA-Z-]{1,}\.){1,}[\da-zA-Z-]{2,4}$"
    emailCheck = False
    If reg.Test(rawEmail) Then
        emailCheck = True
    End If
End Function

Bạn có thể giải thích làm thế nào bạn thêm một tài liệu tham khảo?
Chris Walsh


3

MoreFunc.xll là một addin miễn phí có chức năng Regex.

Có một số bổ trợ của bên thứ ba khác cũng có thể làm Regex.

Không có chức năng trang tính gốc thực sự để làm điều đó, nhưng nếu bạn có một tìm kiếm cụ thể để làm, bạn có thể sử dụng các chức năng khác để hoàn thành công việc.


Cám ơn vì đã xác nhận. Tôi đã tìm thấy thư viện đó, nhưng chúng tôi hy vọng sẽ có thứ gì đó không yêu cầu chúng tôi phân phối thư viện nữa.
Erick Robertson

@Erick, vâng, tôi ghét việc thêm addins vào bảng tính của mình, một nỗi đau lớn để theo dõi chúng. Trừ khi bạn cần hoàn toàn linh hoạt regex, bạn có thể hoàn thành công việc với các chức năng khác. Có rất nhiều thủ thuật trong Excel. Gửi yêu cầu cụ thể ở đây.
Lance Roberts

2

Đây là một hàm cung cấp số lượng biểu thức khớp thông thường trong một ô cụ thể:

Public Function regexCount(regex As String, ref As Range) As Integer
    Dim reg As New RegExp
    reg.Global = True
    reg.Pattern = regex
    regexCount = reg.Execute(ref.Value).Count
End Function

(Yêu cầu thêm tham chiếu vào 'Biểu thức chính quy Microsoft VBScript 5.5' - chỉ cần truy cập 'Công cụ' -> 'Tài liệu tham khảo' từ trình chỉnh sửa VBA và kiểm tra hộp kiểm cho tham chiếu đó.)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.