THẢO LUẬN

thg 11 28, 2018 6:25 CH

Bài viết hay Mr Toàn ơi

0
thg 11 28, 2018 4:44 CH

@Tuong Mình thử với xâu này vẫn lỗi nhé. Dùng regex, trong trường hợp dấu đóng mở ngoặc nested thì bạn sẽ ko thể biết dấu mở ngoặc nào sẽ nên bắt cặp với dấu đóng ngoặc nào đâu. Vì phải duyệt hết xâu bạn mới biết được dấu mở ngoặc nào ăn cặp với dấu đóng ngoặc nào. Mà regex cơ chế của nó lại là ăn xâu từ trái qua phải, ko quay lui được:

https://regex101.com/r/1hiLOm/5

Công (ty (CT) trách nhiệm hữu hạn (TNHH))dfa
0

Vấn đề của em cần phải dùng đến chức năng Negative Lookahead của Regex, cách hoạt động như sau:

2018-11-28_23-09-49.jpg

Giả sử mình cần exclude (loại bỏ) một chuỗi (chứ không phải 1 ký tự như là ví dụ [^ab] như bên trên nữa) ra khỏi một chuỗi đã bắt được. Thì cần dùng cách viết (?!abc) (Chú ý là dấu () là bắt buộc phải viết để đủ cú pháp). Trong đó abc là 1 chuỗi các ký tự liền nhau cần loại bỏ. Nếu cần loại bỏ 2 hoặc nhiều chuỗi con thì sao? vậy ta sẽ viết là (?!abc|def|gho).

Vì chuỗi con nằm bên trong chuỗi cha, do đó chúng ta cần viết thêm 1 dấu chấm . ngay đằng sau (?!\/bc) và bọc toàn bộ khối đó lại thành 1 group. Rồi viết thêm *? bên ngoài để nhân bản các ký tự lên thành 1 chuỗi.

Như vậy để viết Regex này ta phải tư duy từ bên trong ra bên ngoài. Và việc viết thêm Negative Lookahead kèm với dấu chấm dạng ((?!abc).)*? thật ra cũng vẫn chính là một biến thể của .*? (bắt một chuỗi dài vô tận, nhưng không được chứa chuỗi con cần loại bỏ bên trong nó)

Link chạy ngon: https://regex101.com/r/SThqo2/2

0
thg 11 28, 2018 2:56 CH

bài viết của mình chỉ là hướng đi nhé, cụ thể các bạn tìm hiểu thêm nhé 😜

0
thg 11 28, 2018 2:21 CH

😃😃 thanks so much

0

https://regex101.com/r/SThqo2/1 Vẫn là ví dụ đó anh, loại bỏ nhiều ký tự liền kề nhau ở giữa chuỗi, không phải là ký tự đứng độc lập nữa anh

0

Anh chưa hiểu rõ vấn đề lắm. Em có thể share ví dụ trên regex101.com được không?

0

à e có 1 vấn đề nữa là sao để loại bỏ chuỗi có /a & /bc ở giữa. còn chuỗi chỉ có riêng lẻ / thì vẫn giữ

+1
thg 11 28, 2018 10:32 SA

Tuyệt vời, đúng thứ em đang cần tìm hiểu :3

0
thg 11 28, 2018 9:22 SA

(\(.+?\))(?=\s)
OK, bạn test với link sau thử
https://regex101.com/r/1hiLOm/4
Nói chung là code cũng được, mà mình thì thích tùy biến
theo cái request của mình rồi viết regex sẽ hấp dẫn hơn,
chứ format change 1 tí, code lại 1 đống (^;^)

0

Bác cho em hỏi là Em muốn kết nối 2 node thuộc 2 vps khác nhau thì làm thế nào ạ. Hiện tại em có làm theo hướng dẫn nhưng vẫn false. elastic em dùng là bản 6.5.1 vps em đang dùng là của gg

0
thg 11 28, 2018 7:46 SA

Đúng rồi, đọc phía trên cũng đang thắc mắc mất công foreach (y)

0

có share link project không bạn

0
thg 11 28, 2018 4:33 SA

Mình nghĩ là bạn nếu lấy nguồn ở đâu thì nên trích dẫn nguồn, vì ảnh của bạn sử dụng từ hướng dẫn của css-tricks https://css-tricks.com/snippets/css/a-guide-to-flexbox/

0
thg 11 28, 2018 4:25 SA

tks bạn nhiều

0
Avatar
đã bình luận cho bài viết
thg 11 28, 2018 3:53 SA

cám ơn bạn. nhưng có cách nào để mình lấy được uid như vậy ko bạn?

0
thg 11 28, 2018 2:40 SA

Có 2 caching strategy mà bạn nên xem xét : In-memory cache và disk cache.

  • In-memory cache thì bạn cache data fetch từ API or something like that ở repository của mình. Khi fetch data từ repo xuống clients (presenter/viewmodel...) thì check cache data đã tồn tại hay chưa.
  • Disk cache - có thể là DB hoặc file. Khi fetch data từ API về đông thòi save lại vào DB hoặc file, sau đó khi fetch data xuống clients thì bạn fetch từ disk trước. Cách này thường support app offline.
0
thg 11 28, 2018 2:40 SA

bạn ơi cho mình hỏi nếu mình gọi nhiều ajax bằng lệnh .when.apply(.when.apply(, deferreds.get()).then(function(){}) mà một trong các ajax đó bị lỗi nhưng mình muốn lấy dữ liệu trả ra từ các ajax còn lại thì như thế nào vậy bạn, nếu dùng lệnh .when.apply(.when.apply(, deferreds.get()).then(function(){}) thì nó ko vô .then(), mình đang kẹt chỗ này, mong được tư vấn

0
thg 11 28, 2018 2:39 SA

Tks bạn nhiều nha

0
thg 11 28, 2018 2:18 SA

Đang sử dụng ant pro, khá ngon, tiết kiệm rất nhiều thời gian build base.

0
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí