Placeholder Image

字幕表 動画を再生する

AI 自動生成字幕
  • (pleasant music)

    (心地よい音楽)

  • (mouse clicking)

    (マウスクリック)

  • - What we're doing pattern matching over strings and SQL,

    - やっていることは、文字列とSQLのパターンマッチングです。

  • we often go to the like operator first,

    まず「いいね!」を押すことが多いですね。

  • but there's another operator called 'similar too',

    が、もう一つ「similar too」という演算子があります。

  • which is even more powerful,

    というのは、さらに強力なものです。

  • that allows us to use regular expressions.

    で、正規表現を使うことができます。

  • Plus let's look at an example, working with job titles here,

    さらに、ここでは役職名を使った例を見てみましょう。

  • (keyboard typing)

    (キーボード入力)

  • and I'm going to select

    を選択し

  • all the distinct job titles. (keyboard typing)

    すべての明確な職種を(キーボード入力)

  • And I'm going to select that from the data size schema,

    そして、データサイズのスキーマからそれを選択します。

  • and the employees table within that schema.

    と、そのスキーマ内のemployeesテーブルの2つです。

  • And what we'll notice here

    そして、ここで注目するのは

  • is we have a few different kinds of VPs,

    は、数種類の副社長がいます。

  • like VP of sale, VP of quality control.

    販売担当副社長、品質管理担当副社長のように。

  • (breathes heavily)

    (大きく息をつく)

  • We also have a number of different web,

    また、さまざまなWebを用意しています。

  • like web developer,

    ウェブデベロッパーのような

  • and there's some other web designers in here,

    と、ここには他のウェブデザイナーもいます。

  • web designer three.

    ウェブデザイナー3名。

  • So we have some patterns around VP and around web

    そこで、VP周辺とWeb周辺にいくつかのパターンを用意しました。

  • that I think would be good candidates to work with.

    一緒に仕事をするのに適した候補者だと思います。

  • So let's start with something simple.

    では、簡単なことから始めてみましょう。

  • Let's select all the VPs.

    副社長全員を選ぼう

  • (keyboard typing)

    (キーボード入力)

  • Well, we could use the like operator here

    さて、ここでlike演算子を使うことができます

  • and we can say where job title,

    で、どこの職種の人なのかがわかります。

  • like

    のように

  • VP followed by any number of characters.

    VPの後に任意の数の文字が続く。

  • And if I execute that,

    そしてそれを実行すれば

  • I'm going to see that we have five types of VPs.

    5種類の副社長がいることを確認する。

  • Now, if I also wanted to include in this list,

    さて、このリストにも入れるなら。

  • anybody involved with web like a web developer

    ウェブデベロッパーなど、ウェブに携わる人なら誰でも

  • or web designer,

    またはウェブデザイナー。

  • I could use an or clause

    or節を使うことができる

  • (keyboard typing)

    (キーボード入力)

  • and specify additional conditions

    とし、追加条件を指定する。

  • like job title,

    職種のようなもの。

  • like web percent.

    ウェブパーセントのように

  • And now I'm going to get a list of VPs

    そして、今度は副社長のリストを手に入れる。

  • and web developers and web designers.

    とWeb開発者、Webデザイナー。

  • Well, as you can imagine, if you have a list,

    まあ、さすがにリストがあればね。

  • a fairly long list of different patterns you want to match

    マッチングさせたい様々なパターンのかなり長いリスト

  • using or clauses could get a little cumbersome.

    や句の使用は、少し面倒になる可能性があります。

  • A more succinct way of expressing the same condition

    同じ条件をより簡潔に表現する方法として

  • is to instead use the similar to clause

    は、代わりに similar to 節を使用します。

  • (keyboard typing)

    (キーボード入力)

  • instead of the like clause.

    の代わりに、like 節を使用します。

  • And the way we can do that,

    そして、それを実現する方法。

  • is we can specify we want to match on a VP

    は、VPでマッチングするように指定することができます。

  • followed by any number of characters

    に続けて、任意の文字数

  • or

    または

  • (keyboard typing)

    (キーボード入力)

  • on web followed by any number of characters.

    をWebで表示し、その後に任意の文字数を入力します。

  • And to specify the or operator I use a single pipe.

    そして、or演算子を指定するために、単管パイプを使っています。

  • So that's the single pipe

    ということは、単管

  • and spaces are matched. (keyboard typing)

    とスペースがマッチングされます。(キーボード入力)

  • So I'm going to make sure that this is the correct string.

    そこで、この文字列が正しいかどうかを確認します。

  • And because this is a list

    そして、これはリストであるため

  • I'm going to wrap it in parentheses.

    括弧でくくる。

  • So what this is saying

    つまり、これは何を言っているのか

  • is exactly what the last command said,

    は、まさに最後のコマンドの通りです。

  • which is to select a distinct job titles from employee

    というのは、従業員から明確な職種を選択することです。

  • where the job title matches on VP

    VPで職種が一致する場合

  • followed by any number of characters

    に続けて、任意の文字数

  • or web followed by number of characters.

    またはwebの後に文字数を指定します。

  • So if we execute, we get the same list,

    だから、実行すれば同じリストが得られる。

  • which is what we'd expect.

    というのが、予想されるところです。

  • Now, a moment ago,

    さて、さっきの話。

  • I intentionally remove the spaces that I had put in there.

    入れていたスペースをわざと外す。

  • Now, typically I like to use a lot of white space

    さて、私は通常、余白を多く使うのが好きです。

  • because it helps me read code a little more easily.

    というのも、コードを読むのが少し楽になったからです。

  • However, this white space is within a string.

    ただし、このホワイトスペースは文字列の中にある。

  • There's those two quotes.

    その2つの名言があります。

  • So that means it's going to become part of the pattern

    ということは、パターンの一部になるということです

  • that will be matched.

    がマッチングされます。

  • So this pattern,

    それでこのパターン。

  • the first one would be VP

    一の次が副社長となる

  • followed by any number of characters.

    の後に任意の数の文字が続く。

  • And then the last character of the string is a space.

    そして、文字列の最後の文字がスペースになります。

  • In the case of the web pattern,

    ウェブパターンの場合。

  • the pattern that would be matched here is a space

    ここでマッチするパターンはスペースです

  • followed by W-E-B followed by a number of characters.

    の後にW-E-Bが続き、その後に文字数が続きます。

  • So let's run that.

    では、それを実行してみましょう。

  • Okay, we don't get any results.

    なるほど、結果が出ないんですね。

  • And again,

    そして、もう一度。

  • that's because the non printing characters

    それは、非印刷の文字が

  • have become part of the pattern that we're matching.

    が、マッチングするパターンの一部になっています。

  • So we want to be careful

    だから、私たちは気をつけたい

  • with how we use

    をどう使うかで

  • (mouse clicking)

    (マウスクリック)

  • non printing characters,

    非印刷文字。

  • especially around things like spaces and tabs.

    特に、スペースやタブなどの周辺。

  • So if we run this again, we'll get what we expect.

    だから、これをもう一度実行すれば、期待通りの結果が得られるはずだ。

  • Okay. Now let's look at just VPs.

    なるほど。では、副社長だけを見てみましょう。

  • (keyboard typing)

    (キーボード入力)

  • So here, I'm just going to work with VPs for a moment,

    そこで、ここではちょっと副社長と組んでみることにします。

  • and I'm going to intentionally make some mistakes here

    と、ここでわざと間違いを犯してみる。

  • because that'll, again,

    というのも、またしても。

  • that kind of helps us understand

    を理解するのに役立ちます。

  • how regular expressions work.

    正規表現がどのように機能するか

  • So I would expect to get all five VP types.

    だから、5種類のVPをすべて手に入れることができると期待している。

  • And we did.

    そして、私たちはそうしました。

  • Now, let's say I'm interested in only VPs

    さて、私がVPのみに興味があるとしますと

  • of accounting, administration

    会計、管理

  • and any other departments or divisions

    およびその他の部門

  • that begin with the letter A.

    Aから始まる

  • So what if I have VP

    だから、もし私がVP

  • and I want to say,

    と言いたいのです。

  • I'm just going to match VP

    VPに合わせるだけ

  • followed by any number of characters,

    の後に任意の数の文字が続く。

  • and then I want to match on an A.

    で、Aで合わせたいんです。

  • Well, that didn't work.

    まあ、それはうまくいかなかったんですけどね。

  • What I'm trynna think what went on there?

    そこで何が起こったのか、考えてみました。

  • Well, again, this whole thing,

    まあ、今回も全部そうなんですけどね。

  • this whole entire pattern has to match.

    このパターン全体が一致する必要があります。

  • So unlike regular expressions in some programming languages

    そのため、一部のプログラミング言語における正規表現とは異なり

  • where this could match on a sub string

    これがサブストリングにマッチする可能性がある場合

  • and be true in SQL,

    であり、SQLで真である。

  • the pattern has to match the entire string.

    の場合、パターンは文字列全体にマッチしなければなりません。

  • So what I am not saying

    だから、私が言っていないこと

  • is what happens after the letter A

    は、Aの後の文字

  • and what I want is really anything could follow

    そして、私が望むものは、本当に何でもありです。

  • after the letter A.

    の後に、「A」の文字があります。

  • So here, I'm saying string starts with VP

    つまり、ここでは、文字列はVPから始まると言っているのです。

  • followed by a percent followed by an A,

    の後にパーセントが続き、その後にAが続きます。

  • followed by a percent

    に続いて、パーセント

  • and the percent remember matches

    と、マッチングを覚えている割合

  • on any number of characters.

    を任意の文字数で表示します。

  • So that's basically giving me anything that starts with VP

    つまり、基本的にVPで始まるものなら何でもいいということです。

  • and also has an A in it anywhere.

    であり、また、どこかにAが入っている。

  • And actually all five names of VPs have an A in it.

    そして、実は副社長の5人の名前にはすべて「A」が入っている。

  • Well, really what I want is to match VP,

    まあ、本当に欲しいのは副社長とのマッチングなんですけどね。

  • followed by a single space,

    の後に半角スペースを入れてください。

  • followed by an A.

    の後にAをつける。

  • I could put in,

    入れることができました。

  • (mouse clicking)

    (マウスクリック)

  • VP space a and execute that,

    VPスペースaで、それを実行する。

  • and that will match.

    とマッチします。

  • Now, I could also say VP

    今、VPとも言える

  • (mouse clicking)

    (マウスクリック)

  • followed by any character,

    の後に任意の文字が続く。

  • and I can specify that by using the underscore,

    とアンダースコアで指定することができるんです。

  • and this will also match on VP accounting,

    で、これはVP会計でも一致します。

  • and let's do a quick

    を簡単にやってみましょう。

  • (keyboard typing)

    (キーボード入力)

  • check at those five.

    は、この5つをチェックします。

  • And let's say if I wanted something that started with an A

    そして、もし私がAから始まるものを欲しがるとします。

  • or an M, I could have VP,

    とか、Mとか、VPがあってもいい。

  • (mouse clicking)

    (マウスクリック)

  • and I want to follow by a space

    と、スペースでフォローしたい

  • and I want to match on either an A or an M. (keyboard typing)

    で、AかMのどちらかでマッチングさせたい(キーボード打ち込み)

  • Now, if I ran this,

    さて、これを実行したら。

  • I'm not going to get any results,

    結果が出ないんです。

  • because again,

    というのも、また

  • forgot to put

    置き忘れた

  • (keyboard clicks)

    (キーボードクリック)

  • the percent sign at the end,

    をクリックすると、最後にパーセント記号が表示されます。

  • which says match on any number of characters,

    は、任意の文字数でマッチすると言うものです。

  • following the A or following the M.

    Aに続くか、Mに続くか。

  • And here, what we see is we're getting what we expect now,

    そして今、私たちが見ているのは、私たちが期待するものを手に入れることです。

  • which is the VP of accounting and VP of marketing.

    というのは、経理担当のVPとマーケティング担当のVPです。

  • So there were other things that you can use

    ということは、他にも使えるものがあったんですね

  • within regular expressions,

    を正規表現内で使用することができます。

  • other pattern, indication, specifications.

    他のパターン、表示、仕様。

  • So for things like matching a particular character

    そのため、特定の文字にマッチするような場合は

  • a certain number of times for matching on digits,

    桁のマッチングに一定の回数が必要です。

  • I'd look at the Postgres documentation

    Postgresのドキュメントを見ます。

  • to see how you can build even more complex,

    をご覧いただくと、さらに複雑なものを作ることができます。

  • regular expressions.

    正規表現を使用します。

  • And my one piece of advice with regular expressions

    そして、正規表現に関する私の1つのアドバイス

  • is to build them incrementally.

    は、段階的に構築していくことです。

  • So start with something really simple and start building.

    だから、本当にシンプルなものから作り始めてください。

  • And when things, all of a sudden aren't behaving,

    そして、突然、物事がうまくいかなくなったとき。

  • the way you expect, you can isolate pretty quickly.

    が期待通りであれば、すぐに切り離すことができます。

  • What change you made that is changing the behavior

    どのような変化で動作が変化しているのか

  • that you don't quite understand.

    よくわからないということで

  • (upbeat music)

    (アップビート・ミュージック)

(pleasant music)

(心地よい音楽)

字幕と単語
AI 自動生成字幕

ワンタップで英和辞典検索 単語をクリックすると、意味が表示されます